Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 将FaceID或其他生物医学id实现到预先建立的oAuth流_Swift_Face Id - Fatal编程技术网

Swift 将FaceID或其他生物医学id实现到预先建立的oAuth流

Swift 将FaceID或其他生物医学id实现到预先建立的oAuth流,swift,face-id,Swift,Face Id,我正在尝试将Face ID添加到我们已经建立的登录过程中。我已经阅读了下面的文章,能够成功地评估该政策,并从生物识别过程中获得成功 我的应用程序的身份验证需要输入用户名和密码,然后ping api并返回oAuth令牌。我们将此令牌存储在会话中。此令牌最终过期,需要刷新。当前,我们注销用户,用户输入用户名和密码,然后令牌刷新 我的问题是如何在手机钥匙链中存储用户名和密码,以及如何在成功进行生物特征扫描后获取用户名和密码 下面是一个我正在尝试做的例子,只是不确定如何做,或者这是否是正确的方法 le

我正在尝试将Face ID添加到我们已经建立的登录过程中。我已经阅读了下面的文章,能够成功地评估该政策,并从生物识别过程中获得成功

我的应用程序的身份验证需要输入用户名和密码,然后ping api并返回oAuth令牌。我们将此令牌存储在会话中。此令牌最终过期,需要刷新。当前,我们注销用户,用户输入用户名和密码,然后令牌刷新

我的问题是如何在手机钥匙链中存储用户名和密码,以及如何在成功进行生物特征扫描后获取用户名和密码

下面是一个我正在尝试做的例子,只是不确定如何做,或者这是否是正确的方法

let reason = "Log in to your account"
context.evaluatePolicy(.deviceOwnerAuthentication, localizedReason: reason ) { success, error in

if success {

    DispatchQueue.main.async { [unowned self] in
        //I assume here is where I would do something of the following
        let user = {access keychain to get username?}
        let pass = {access keychain to get password?}
        ApiService.callOAuthEndpointWith(username: user, password: pass, delegate: self)
    }

 }  else {
        print(error?.localizedDescription ?? "Failed to authenticate")

        // Fall back to a asking for username and password.
        // ...
    }
}