我正在尝试使用Google OAuth2.0进行身份验证。一切工作正常,但是在初始(首次)加载时,要在客户端(Web应用)上花费额外的时间(30秒-RequestTimeOut)来加载提示。我检查了“网络”标签(开发者控制台-Chrome),发现该标签正试图致电
https://accounts.youtube.com/accounts/CheckConnection?pmpo=VALUE&v=VALUE×tamp=VALUE。
此请求因ERR_TIMED_OUT而失败,在我的组织中,我们无权访问Youtube(据我所知)。但是,为什么我的应用程序向Youtube API发出请求的原因和地点是我的问题。 如果是这样,我如何停止此操作(从youtube获取帐户)?
我的应用程序的范围如下
“ scope”:“https://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile”
它是在初始加载本身上发生的,后来它为同一请求给出200个状态。我想念的是什么。
我对此完全陌生。 (对不起,如果不是菜鸟问题)
提前感谢。
编辑::
我知道为什么它向youtube api发出请求,它正试图从youtube(gmail-accounts)获取任何其他帐户(登录用户)。但是如何停止向youtube(accounts.youtube.com)发出请求。 我的应用程序可以从google(accounts.google.com)提取帐户很好。。
谢谢。
Google将iframe放入google o-auth帐户选择器。
Google oauth and youtube accounts iframe
[分析该iframe中的javascript,我们发现一些证据,这可能是加载youtube会话的一种方法,以便获取Youtube中当前登录用户的userId。通过创建iframe,您可以获得打开网站的正常环境,即可以访问会话信息。这就是它的用途,证明:
//# sourceURL=/_/mss/boq-identity/_/js/k=boq-identity.AccountsDomaincookiesCheckconnectionJs.pt_PT.4FJ4-a_ocZ8.es5.O/d=1/ct=zgms/rs=AOaEmlHUdMtrscDWG6wHCiHHFunuI9afAg/m=base
if (window.parent && window.parent.postMessage) {window.parent.postMessage( google.checkconnection.getMsgToSend('youtube', 'some_id'), 'https:\/\/accounts.google.com');}</script>
iframe可以进行通信,只要对方正在收听此消息。