Windows 8 Metro 在弹出窗口中显示 Web 视图,并将响应传回 OAUTH2 Visual Basic



这是我的第一个问题,所以你好,感谢您的支持!我目前正在开发一个Windows 8商店应用程序。我需要登录到 OAUTH 网站并获取要另存为字符串的响应令牌。我希望它出现在弹出窗口中,让用户登录,然后在收到响应后关闭。

我可以弹出 Web 视图,并且可以导航到该页面。但是我如何处理响应并关闭。我说VB。

再次感谢!

编辑以添加我的代码:

Dim url As New Uri("https://aurlthatidontcontrol")
WebView1.Navigate(url)
PopUp.IsOpen = True

将打开 MY 弹出窗口,并显示 URL 的登录名。登录后,我应该从该服务器获得响应,其中包括访问令牌我想将该令牌放入我的应用程序中并将其另存为字符串,然后关闭弹出窗口

好的,

我想通了。

我没有实际调用 Web 视图,而是使用了 Web 代理身份验证。详

这允许服务登录在屏幕上"弹出",我可以像这样捕获结果:

Dim webresult As WebAuthenticationResult = Await      
WebAuthenticationBroker.AuthenticateAsync(WebAuthenticationOptions.None, StartURI, endURI)
Dim finalresponse() As String = webresult.ResponseData.ToString.Split("=")
Dim currentuserstoken As String = finalresponse(1)
Return currentuserstoken

使用 WebView 类上的 InvokeScript 方法调用 JavaScript 代码,以从响应中收集信息并返回调用代码。如果您控制的页面中没有脚本,请使用"eval"作为函数名称并向其传递参数。

或者,在 JavaScript 中使用 window.external.notify 来触发 ScriptNotify 事件(链接包含一个示例)。

最新更新