我已经搜索过,但没有找到任何不涉及处理凭证的答案
webView(_:didReceive:completionHandler:)
我的目标是呈现与 Safari 或任何其他浏览器中发生的相同的身份验证挑战,以便我的代码不必接触用户的凭据。
您可以通过在任何浏览器中访问https://httpbin.org/basic-auth/username/password来查看示例挑战
这可能吗?
为了清楚起见: 如果您在普通浏览器中访问上面的链接,则会显示/呈现身份验证质询。如果您在
WKWebView
中执行此操作,则不会显示任何内容。你坐在白色的屏幕前。
我试图确定这些行为的差异,例如为什么它在普通浏览器中呈现,而不是在 Web 视图中呈现?是浏览器呈现挑战,还是被访问的 URL 的网页内容的一部分?
最后,可以在
WKWebView
(或WebView
)中完成基本身份验证吗?这样我的代码就不会触及用户凭据,因为它是 Web 服务器通过这些视图中显示的内容来处理它?
按照@Paulw11的建议,
SFSafariViewController
就是答案。