oauth - 在 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 流程之前,要求用户提供一个唯一的名称(我可以在我的网站上用作用户的身份)是一种标准做法吗?
解决方案
每个问题的子声明必须是唯一的。必填声明将始终存在。您可以使用 iss + sub 来唯一标识用户。
推荐阅读
- python - 有没有办法在 Python 中重命名多个 df 列?
- delphi - 如何在 Delphi 的 ListBox 上将文本的最后一位对齐到右侧 - 整齐地在一列中?
- javascript - 当组件异步更改其道具时如何重新渲染组件?
- restructuredtext - 使用 csv-table 指令的 reStructuredText 表中的多行单元格
- azure - 在 Azure DevOps 中下降后如何跳过给定的发布阶段
- angular - 如何保存用户表单值
- java - 如何在片段中而不是在活动中使用 NavController(在片段中带有 NavHost)?
- django - 从根目录在 Django 中加载静态图像的最佳方法
- javascript - 如何将以下内容转换为有效的 JSON?
- templates - 有没有办法使用树枝模板从 Grav 中的 YAML 前端动态选择值?