繁体   English   中英

从UWP WebView获取响应标题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM