授予离线访问帐户选择器不尊重托管域

时间:2015-08-27 14:45:09

标签: javascript google-signin

hosted_domain选项是否应该像使用signIn方法一样工作?

我正在努力将Google Sign-In与项目集成,并且需要使用服务器端工作流程。当我使用signIn将我的组织的域名传递给hosted_domain选项时,它会自动从帐户选择器屏幕中为我选择正确的帐户。当我尝试拨打grantOfflineAccess时,它会向我显示所有帐户,包括我的.gmail域名个人帐户。

我还尝试通过signIn()登录用户,然后获取从该承诺返回的用户对象并调用grantOffLineAccess(),因为Google Developer's Reference Guide认为可能会自动选择帐户对我来说,但这不起作用,或者给我“Uncaught TypeError:user.grantOfflineAccess不是一个函数”。

我已经在下面的教程指南中提供了相关的代码片段。

<!-- Add where you want your sign-in button to render -->
<!-- Use an image that follows the branding guidelines in a real app -->
<button id="signinButton">Sign in with Google</button>
<script>
  $('#signinButton').click(function() {
    // signInCallback defined in step 6.
    auth2.grantOfflineAccess({'redirect_uri': 'postmessage'}).then(signInCallback);
  });
</script>
<div id="result"></div>

1 个答案:

答案 0 :(得分:0)

根据@Rudolf的说法,您只需将authuser参数设置为您的请求的一部分

var auth = gapi.auth2.getAuthInstance();
var user = auth.currentUser.get();
auth.grantOfflineAccess({
    authuser: user.getAuthResponse().session_state.extraQueryParams.authuser
});

原始答案可以在GoogleUser object does not have grantOfflineAccess method?

找到