我们使用Azure B2C对用户进行登录/身份验证。这在我们的网站上很好(社交和电子邮件登录等)。我们的移动应用程序是用Xamarin表单构建的,我们正在尝试构建一个本机登录体验(使用本机应用程序控件与B2C展示的应用程序中的web视图),该应用程序本机集成了用于登录的设备生物特征(FaceId、TouchId、指纹登录)。正如您可以想象的那样,在Azure B2C所需的B2C视图中执行此操作不允许本地登录体验。这里的总体目标是2倍:
问题
发布于 2021-06-16 11:52:50
您需要使用webview,并且您可以启用与webview类型体验的生物特征集成。
那么你有两个选择:
现在,有一个用户登录到该应用程序中,使用:
然后,当用户重新尝试打开应用程序或在应用程序中执行某些操作时,您将需要调用acquireTokenSilent()。此MSAL方法为所需的API资源/作用域获得一个新的访问令牌。
如果令牌过期,或者需要不同的范围,则将获取一个新令牌。
您可以使用生物特征SDK包装应用程序中的任何操作。
if (performingSomeAction && requiresBiometric)
if (challengeBiometric succeeds)
acquireTokenSilent()
//do someAction现在,如果刷新令牌过期了,那么web视图将弹出,长期存在的会话cookie将被用于获取新的令牌。acquireTokenSilent()方法已经处理了所有这些。
https://stackoverflow.com/questions/67994002
复制相似问题