我有一个web应用程序,我用WKWebView在本地应用程序中加载。第一个导航是登录屏幕,我正在寻找用ios bio metrics验证用户身份的方法。如果你能帮助我,请告诉我。
最佳答案
向WKWebView
的用户内容控制器添加消息处理程序。self.webView.configuration.userContentController.add(self, name: "AuthHandler")
使self
类符合WKScriptMessageHandler
协议并实现func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage)
。
在web应用程序中,添加一个按钮,单击该按钮时将调用消息处理程序:
<button id="authButton" onClick="callAuthHandler()"/>
func callAuthHandler(){
window.webkit.messageHandlers.AuthHandler.postMessage("authCallback");
}
func authCallback(status){
console.log(status);
}
按照你的本族语,
func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
if message.name == "AuthHandler",let callBack = message.body as?
String, LAContext().canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: nil){
LAContext().evaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, localizedReason: "To authenticate") { (success, error) in
self.webView.evaluateJavaScript(callBack+"(\(success))
}
}
}
关于ios - 如何利用“使用生物识别技术进行身份验证”来在Web View中对用户进行身份验证?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47915312/