0

There is a need to have Multi-Factor Authentication in Xamarin Forms Mobile app across iOS, Android and Windows UWP. After user enters valid user name and password there should be second factor AUTH - phone call/SMS to registered device. Step-by-step guide and sample app would be useful to speed-up implementation of this scenario.

4

1 回答 1

0

我想分享的实现之一:

  • Azure Active Directory 作为目录和多重身份验证服务。您可以使用 Azure AD 帐户进行访问,或将 Azure AD 与企业 Active Directory 域与 Active Directory 联合身份验证服务集成。在这里,您可以获得帐户管理和多因素基础设施(电话注册、呼叫/短信服务和政策)
  • 在 Xamarin Forms 应用程序中使用的Active Directory 身份验证库(ADAL)。
  • 在 Xamarin.Forms 应用程序中使用依赖服务来定义身份验证接口,例如:

    public interface IAuthenticator
    {
      Task<AuthenticationResult> Authenticate(string authority, string resource, string clientId, string returnUri);
    }
    
  • 使用程序集依赖元数据属性为每个平台提供实现(这里是所有细节):

    [assembly: Dependency(typeof(MFATestPCL.Droid.Helper.Authenticator))]
    namespace MFATestPCL.Droid.Helper
    
  • 从共享代码拨打电话:

    var auth = DependencyService.Get<IAuthenticator>();
    authResult = await auth.Authenticate(authority, graphResourceUri, clientId, returnUri);
    

这是完整的 GitHub示例 Xamarin 应用程序存储库,其中包含配置 Azure AD 的分步指南- 提供了 iOS、Android 和 Windows 10 UWP 实现。

于 2018-02-20T12:36:01.967 回答