首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于Xamarin窗体应用程序的Azure B2C登录/TouchId/指纹/密钥链与API的集成

基于Xamarin窗体应用程序的Azure B2C登录/TouchId/指纹/密钥链与API的集成
EN

Stack Overflow用户
提问于 2021-06-15 22:01:36
回答 1查看 618关注 0票数 1

我们使用Azure B2C对用户进行登录/身份验证。这在我们的网站上很好(社交和电子邮件登录等)。我们的移动应用程序是用Xamarin表单构建的,我们正在尝试构建一个本机登录体验(使用本机应用程序控件与B2C展示的应用程序中的web视图),该应用程序本机集成了用于登录的设备生物特征(FaceId、TouchId、指纹登录)。正如您可以想象的那样,在Azure B2C所需的B2C视图中执行此操作不允许本地登录体验。这里的总体目标是2倍:

  1. 构建本机登录体验
  2. 与生物识别技术相结合。

问题

  1. Azure B2C是否有一个支持这一点的API,特别是这样我们就可以不用UI使用授权码流了。ROPC存在,但它是否也与社会帐户集成?
  2. 如果没有,当登录屏幕出现在一个网络视图中时,是否有一种方法可以在移动平台上集成生物识别登录和Azure B2C?这样,当webview中的B2C登录页面出现时,用户就可以使用触摸/faceId登录,并将这些信息保存到他们的密钥链中(在iOS上和在Android上的等价信息)。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-16 11:52:50

您需要使用webview,并且您可以启用与webview类型体验的生物特征集成。

  1. 您不能将任何服务与社会帐户和ROPC集成。与社会国内流离失所者的任何融合都需要一个网络视图。
  2. 是的,为长时间的会话启用让我签到。将生物识别代码包装在acquireTokenSilent()方法周围。

那么你有两个选择:

  1. 您可以隐藏KMSI按钮,并使用JavaScript强制使用页面定制在登录页面中选择KMSI复选框。
  2. 您可以在登录页面上重命名KMSI标签,以询问用户是否希望注册到生物识别系统。然后在登录后,您的应用程序将在令牌中收到用户是否选择加入的声明,请使用索赔解决程序来实现这一点。

现在,有一个用户登录到该应用程序中,使用:

  1. 1小时存取令牌
  2. 潜在的无限长刷新令牌
  3. 多天/年Azure AD B2C 会话cookie

然后,当用户重新尝试打开应用程序或在应用程序中执行某些操作时,您将需要调用acquireTokenSilent()。此MSAL方法为所需的API资源/作用域获得一个新的访问令牌。

如果令牌过期,或者需要不同的范围,则将获取一个新令牌。

您可以使用生物特征SDK包装应用程序中的任何操作。

代码语言:javascript
复制
 if (performingSomeAction && requiresBiometric)
   if (challengeBiometric succeeds)
     acquireTokenSilent() 
     //do someAction

现在,如果刷新令牌过期了,那么web视图将弹出,长期存在的会话cookie将被用于获取新的令牌。acquireTokenSilent()方法已经处理了所有这些。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67994002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档