首页 文章

在MSAL中的AcquireTokenSilentAsync中使用哪个IUser

提问于
浏览
1

我在使用Azure AD B2C的移动(Xamarin)应用程序的上下文中提出这个问题 .

The tl;dr; of this is: 在调用 PublicClientApplication.AcquireTokenSilentAsync 时,我是否应始终使用从“登录/注册”政策获得的 IUser

现在让我解释一下情节 .

用户尝试使用应用程序,但需要立即重置密码 .

使用MSAL库, PublicClientApplication.AcquireTokenAsync 被称为调用"reset password"策略 .

假设呼叫成功, IUser 对象将放置在 PublicClientApplication.Users 集合中 .

此外,该函数在 AuthenticationResult 中返回的令牌足以让用户访问需要AD B2C令牌的资源 .

这意味着将来对 PublicClientApplication.AcquireTokenSilentAsync 的任何调用都将使用与"reset-password"策略关联的 IUser .

它会起作用......但这是最佳做法吗?

或者,应用程序应立即提示用户登录,从而调用"sign-up/sign-in"策略,从而将与该策略关联的 IUser 添加到 PublicClientApplication.Users 集合中 . 然后每当调用 AcquireTokenSilentAsync 时,可以将特定的 IUser 传递给它? (而不是"reset password"政策中的那个 . )

无论何时调用"profile editing"政策,都可以询问相同的问题 . 新的 IUser 被添加到集合中,假设用户已经登录过,那么 IUser 被发送到 AcquireTokenSilentAsync 是否重要?

1 回答

相关问题