【问题标题】:Authentication with Microsoft for existing users对现有用户进行 Microsoft 身份验证
【发布时间】:2020-09-29 13:48:08
【问题描述】:

我正在使用(ext)ASP.NET 开发一个已经有用户注册的 Web 应用程序。我正在尝试使用 Microsoft (OpenID Connect) 添加身份验证。

我的问题是,我不知道如何将现有用户连接到他们各自的 Microsoft 帐户。在他们第一次登录后,我应该将“sub”保存在我的数据库中,并且可以将用户与之进行比较。

但第一次,我不知道该怎么做。我无法真正检查“preferred_username”中有效负载中的电子邮件,因为它是可变的。

我的第二个问题是,在我的数据库中保存“子”是错误的方法吗?

【问题讨论】:

    标签: asp.net authentication oauth-2.0 openid claims-based-identity


    【解决方案1】:

    好问题,登录后识别应用中的用户是一项常见要求。特别是如果用户有您的应用的历史记录(例如下订单),并且您希望在将登录信息迁移到 Azure AD(或其他任何位置)时保持此历史记录。

    我的偏好是以下方法:

    • 确保授权服务器包含现有用户的电子邮件
    • 我建议将 sub 声明的副本存储在应用数据库中
    • 登录后,尝试在您的应用中找到匹配的子声明
    • 如果未找到,请尝试匹配电子邮件声明

    我在User Data Management 上的博文可能会为您提供更多关于要遵循的模式的想法。如果您的问题是与获取电子邮件声明有关的 Microsoft 特定技术问题,请回复并提供更多详细信息 - 我或许可以为您提供帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-26
      • 1970-01-01
      • 2013-03-11
      • 1970-01-01
      相关资源
      最近更新 更多