首页 > 解决方案 > 在 OAUTH/OpenID-Connect 之前询问用户名或唯一身份

问题描述

我正在构建一个使用 OAuth2.0 和 OpenId-Connect(某些第三方供应商的)来验证用户身份的网站。

在将用户重定向到供应商的 OAuth 页面之前,我没有要求用户在我的网站上输入唯一的 UserID,我正在考虑使用我在授权过程完成后作为 IDToken 的一部分收到的用户的电子邮件 ID,因为我的网站的用户用户名(唯一身份)。

但是这里的 OpenID 规范
https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims

表示 emailid 是可选的,可能不会被退回。

所以问题是,在我启动 OAUTH/OpenID-Connect 流程之前,要求用户提供一个唯一的名称(我可以在我的网站上用作用户的身份)是一种标准做法吗?

标签: oauthoauth-2.0openid-connectgoogle-openidconnect

解决方案


每个问题声明必须是唯一的。必填声明将始终存在。您可以使用 iss + sub 来唯一标识用户。


推荐阅读