我们如何使用xamarin.forms中的用户名和密码对iOS进行身份验证?

时间:2017-03-16 21:17:58

标签: c# xamarin webview xamarin.ios xamarin.forms

我最近开始使用Xamarin进行开发。表格和我是C#的新手。我有一个用于重置密码的URL,这个URL是一个HTML页面,我将它加载到Webview中。如果我们在浏览器中打开此URL,它将要求进行身份验证,即用户名和密码,但我无法在iOS上打开此功能。 我在Android和iOS中为Webview创建了自定义类。对于Android,它工作正常,但在iOS中它不是。

代码:

private void WillSendRequestForAuthenticationChallenge
(NSUrlConnection connection, NSUrlAuthenticationChallenge challenge)

但我不知道如何使用它。提前谢谢。

1 个答案:

答案 0 :(得分:0)

如果您使用的是较新的iOS webkit WkWebView,则可以在WKNavigationDelegate中覆盖功能DidReceiveAuthenticationChallenge。像这样:

public class MyNavigationDelegate : WKNavigationDelegate 
{
     public override void DidReceiveAuthenticationChallenge(WKWebView webView, NSUrlAuthenticationChallenge challenge, Action<nsurlsessionauthchallengedisposition, nsurlcredential=""> completionHandler) 
     {
         var credential = new NSUrlCredential("username", "password", NSUrlCredentialPersistence.ForSession);
         completionHandler(NSUrlSessionAuthChallengeDisposition.UseCredential, credential);
     }
}