node.js - 从没有 userinfo.profile 范围的 googleapis 获取用户的组织详细信息(例如标识符和/或域)
问题描述
我正在寻找一些描述的标识符,以便我查看用户所属的 Google 组织。此标识符的目的是识别多个用户何时属于同一个 Google 组织。
目前这是我正在做的事情:
// oauth2 stuff above
const userInfo = await oauth2.userinfo.get({});
const {
data: { email, hd },
} = userInfo;
这将返回域 ( hd
) 但它需要https://www.googleapis.com/auth/userinfo.profile
范围。此范围请求访问所有用户的公共信息,包括性别、姓名、个人资料图片等。
有一个更好的方法吗?是否有一个我可以使用的范围,它只要求访问organisation id
谷歌或其他东西?
此标识符必须对整个 Gsuite/Workspace 组织是唯一的(或者,如果是 gmail 帐户,而不是 Gsuite/Workspace 帐户,则显然为空/null)。
提前致谢!
解决方案
如果您请求范围openid email
,则hd
声明包含在 ID 令牌中,您根本不需要调用 UserInfo 端点。
是的,检查hd
声明是确定用户帐户是否由 Cloud Identity/Workspace 管理的正确方法。
推荐阅读
- c# - 如何比较两个实现相同接口的不同类是否相等?
- excel - 格式化多列 - 到最后一行的特定范围 - 应用程序定义的错误
- mysql - GraphQL 从 MySQL 连接查询返回 null
- python - Python - 具有两个参数的多处理星图
- sql-server - SQL Server:列 x 的类型与 UNPIVOT 列表中指定的其他列的类型冲突
- c# - C# - 匿名对象作为'out'参数?
- java - 如何使用 ParseHelper 从 DSL 解析到 Object
- python - Discord.py:如何从用户对象中获取成员对象?
- reactjs - 匹配的查询不存在。DRF
- python - 当以不同格式输入相同数据时,`tf.keras.model.evaluate()` 会提供不同的结果