【问题标题】:Pass an authenticated user from application to B2C and back to application to update token将经过身份验证的用户从应用程序传递到 B2C 并返回到应用程序以更新令牌
【发布时间】:2021-04-16 18:50:12
【问题描述】:

我们有一个连接到我们的 B2C 环境的 .net5 剃须刀应用程序。在应用程序中,我们有一个更新一些用户详细信息(包括他们的姓名)的过程。我们目前正在应用程序的导航栏中显示他们的名字,并从User.Identity.Name 获取。

因此,当用户名更新时,User.Identity.Name 中保存的值不会更新,因此名称保持原样。

理想情况下,我们希望将用户传递到 B2C 中的屏幕以更新令牌,该令牌将获取更新后的名称,然后一次性返回应用程序,而无需用户执行任何操作。或者,我们需要在后台调用更新令牌,然后当页面重新加载时,由于令牌已更新,名称将被更新。

目前我们看不到这样做的方法,因为asp-area="MicrosoftIdentity" 下可用的asp-actions 仅限于:Challenge、EditProfile、ResetPassord、SignIn 和 SIgnOut。

如果我们通过 ResetPAssword 用户流传递用户,然后返回到应用程序,则令牌已更新,我们会取回更新后的用户名。但是,如果他们只更新他们的名字,我们就不想经历这个过程。

我们该怎么做呢?

【问题讨论】:

  • 如果您再次让他们通过登录,他们应该被发送到 /authorize with SSO 并获得一个新的令牌。这就是我们建议使用我们的个人资料编辑政策的原因,您甚至可以使用 iframe 将其嵌入到您的应用中。

标签: azure-ad-b2c


【解决方案1】:

正如Jas Suri - MSFT 评论above,这样做的方法是将用户传递给SignUpSignIn 策略,因为他们已经通过了身份验证,他们将通过策略屏幕并返回到应用程序而没有任何用户互动。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-15
    • 2013-12-04
    • 1970-01-01
    • 1970-01-01
    • 2017-05-24
    相关资源
    最近更新 更多