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.
问问题
1116 次
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 回答