[英]Why gapi.auth.authorize with “immediate: false” doesn't close popup and fire callback?
[英]gapi.auth.authorize with immediate: true is not working
我正在嘗試做Gmail Oauth。
當我用Instant:true調用此函數時,它仍在授權時顯示彈出窗口。
請讓我知道是否存在任何錯誤以及任何其他方法。
gapi.auth.authorize({client_id: clientId, scope: scopes, immediate: true}, callbackAuthResult);
這是我的代碼:
function signin(getAuthStatus) {
gapi.auth.authorize({
'client_id': 'myID',
scope: 'email', immediate: true
},getAuthStatus);
}
function getAuthStatus() {
gapi.client.Myendpoint.MyEndpointMethod().execute(function (resp) {
console.log(resp);
}
首先,我們必須了解oauth流程的工作原理,
在Google OAuth中,
如果即時值是false ,那么瀏覽器將打開一個彈出窗口,人們必須在其中允許您的應用程序從Google獲取其詳細信息。
如果即時值是true ,那么它將自動得到授權,而無需任何彈出窗口,而人們無需允許該應用程序。
將立即值保留為false ,當您要求用戶首次登錄您的應用程序時,瀏覽器將打開彈出窗口,並且用戶將允許您的應用程序獲取詳細信息。 從下一次開始,無論您在哪里使用OAuth在應用程序中進行經過身份驗證的調用,都應將即時值設置為true ,因為用戶已經允許了您的應用程序,因此您將直接獲得用戶信息,而無需一次又一次地詢問他的權限。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.