我正在努力在Win32应用中实现oauth。我可以在我的应用程序中托管Web浏览器控件,并使用IWebBrowser2接口,可以导航到指定的oauth链接。
当登录成功时,服务器将响应作为包含我需要的授权令牌的json文档发送。
我见过C#/ WPF示例,客户端代码在WebBrower.DocumentCompleted事件中捕获令牌。
我想知道如何在C ++应用程序中实现文档完成的事件。我现在拥有的只是IWebBrowser2对象。问候。
答案 0 :(得分:4)
1)WebBrowser2.QueryInterface(IConnectionPointContainer,ConnectionPointContainer)
2)ConnectionPointContainer.FindConnectionPoint(DIID_DWebBrowserEvents2,ConnectionPoint)
3)ConnectionPoint.Advise(Self,ConnectionPointCookie)
4)Self必须实现IDispatch
5)在Self.Invoke内,您将捕获所有事件,包括DISPID_DOCUMENTCOMPLETE。
6)不要忘记在工作结束时致电ConnectionPoint.Unadvise。