将经过身份验证的用户从应用程序传递到B2C,然后返回到应用程序以更新令牌



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

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

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

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

如果我们将用户通过ResetPAssword用户流,然后返回到应用程序,那么令牌已经更新,我们将返回更新后的用户名。然而,如果他们只更新自己的名字,我们就不想经历这个过程。

我们该怎么做?

正如Jas Suri-MSFT在上面评论的那样,实现这一点的方法是将用户传递给SignUpSignIn策略,因为他们已经通过了身份验证,所以他们将通过策略屏幕传递回应用程序,而无需任何用户交互。

相关内容

最新更新