0

我正在使用 Xamarin 开发跨平台应用程序。现有的登录功能需要输入用户名和密码。我的任务是添加一个用户可以使用 Touch ID 或 Face ID 登录的功能。我已阅读有关本地授权的文档以及大量其他教程,但我无法克服一个主要障碍,即如果本地授权设置了系统,我如何将生物特征信息与用户帐户信息联系起来不允许将所述信息存储在设备硬件以外的任何地方的地方。

void AuthenticateMe(object sender, EventArgs e)
        {
            var context = new LAContext();
            NSError AuthError;
            var myReason = new NSString("To Sign In to App");

            if (context.CanEvaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, out AuthError))
            {
                var replyHandler = new LAContextReplyHandler((success, error) =>
                {
                    Device.BeginInvokeOnMainThread(() =>
                    { 
                        if (success)
                    //If Bob123's fingerprint worked
                        {
                           //Goes to Bob123's home page 
                            SetCurrentMainPage();
                        }
                        else
                        { 
                            //Redirects to login page where Bob can login as Bob123
                            // Show fallback mechanism here
                        }
                    });
                });
                context.EvaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, myReason, replyHandler);
            };
        }

例如 Bob123 如何使用他的指纹和用户名登录?

4

1 回答 1

0

当用户使用常规登录方式登录时,将用户名和密码存储在 SecureStorage 中。

https://docs.microsoft.com/en-us/xamarin/essentials/secure-storage?tabs=ios

存储和访问用户详细信息很容易。该链接中还有一个视频。

于 2020-05-14T04:00:21.407 回答