[英]Get Response Headers from UWP WebView
我一直在搜索数小时,找不到针对此问题的任何解决方案。
我正在开发UWP应用程序,并且有一个可以访问网站(用户进行身份验证)的WebView
,并且在他登录后我应该能够获得access_token
。
有没有办法从页面获取响应头?
还是我必须手动做所有事情(创建HttpClient
,使用登录信息发送POST,并以这种方式获取标头响应?)
首先,最新的指导原则是不应在Web视图中进行身份验证,现代的方法是打开外部浏览器窗口,在此用户进行身份验证,然后使用自定义URI方案将其重定向回应用程序。 在此处查看有关此内容的详细文章。
现在,不幸的答案是WebView
没有提供访问HTTP响应及其标头的内置方法。 这是已请求的(例如,参见Martin Suchan的此博客文章 ),但到目前为止尚未实现。 如果您可以控制网页,则可以将身份验证信息存储在可访问的cookie中。 即使在这里注入自定义JavaScript也无济于事,因为如果您在JS中启动AJAX请求,则可以获取HTTP标头,但无法获取已加载页面的标头。
正如上面的评论中提到的那样,更好的解决方案是使用HttpClient
手动编写登录代码,或者查看服务是否支持正确的OAuth2 / OpenID Connect流,在这种情况下,您可以使用IdentityModel.OidcClient2
类的库来处理大部分繁重的工作为你举重。
您还可以使用内置的WebAuthenticationBroker
,请参阅此处的文档 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.