gapi.auth.authorize with immediate: true 无效
gapi.auth.authorize with immediate: true is not working
我正在尝试进行 Gmail Oauth。
当我使用 immediate:true 调用此函数时,它仍然在授权时显示弹出窗口 window。
请让我知道是否有任何错误,还有任何替代方法。
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 中,
如果 immediate 值为 false,那么浏览器将打开一个弹出窗口,人们必须允许您的应用程序获取他们的详细信息来自 Google.
如果 immediate 值为 true,那么它会被自动授权而无需任何弹出窗口,人们不必允许应用程序。
保持 immediate 值为 false,当您要求用户首次登录您的应用程序时,浏览器将打开弹出窗口和用户将允许您的应用程序获取详细信息。从下次开始,无论您在应用程序中使用 OAuth 进行经过身份验证的调用,都将 immediate 值设置为 true,因为用户已经允许您的应用程序,这样你就可以直接获取用户信息,而无需再一次次询问他的权限。
我正在尝试进行 Gmail Oauth。
当我使用 immediate:true 调用此函数时,它仍然在授权时显示弹出窗口 window。
请让我知道是否有任何错误,还有任何替代方法。
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 中,
如果 immediate 值为 false,那么浏览器将打开一个弹出窗口,人们必须允许您的应用程序获取他们的详细信息来自 Google.
如果 immediate 值为 true,那么它会被自动授权而无需任何弹出窗口,人们不必允许应用程序。
保持 immediate 值为 false,当您要求用户首次登录您的应用程序时,浏览器将打开弹出窗口和用户将允许您的应用程序获取详细信息。从下次开始,无论您在应用程序中使用 OAuth 进行经过身份验证的调用,都将 immediate 值设置为 true,因为用户已经允许您的应用程序,这样你就可以直接获取用户信息,而无需再一次次询问他的权限。