javascript - 授予脱机访问帐户选择器不尊重托管域

标签 javascript google-signin

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

我正在致力于将 Google 登录与项目集成,并且需要使用服务器端工作流程。当我通过登录将组织的域传递到 Hosted_domain 选项时,它会自动从帐户选择器屏幕中为我选择正确的帐户。当我尝试调用 grantOfflineAccess 时,它会向我显示所有帐户,包括我的具有 .gmail 域的个人帐户。

我还尝试通过signIn()登录用户,然后获取从该 promise 返回的用户对象并调用grantOffLineAccess(),因为Google Developer's Reference Guide中似乎有效认为可以自动为我选择帐户,但这不起作用,也不会给出“未捕获的类型错误: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>

最佳答案

根据@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?找到

关于javascript - 授予脱机访问帐户选择器不尊重托管域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32252536/

相关文章:

javascript - 如何为 JavaScript Set 自定义对象相等性

javascript - 无法在 GridView 内单击按钮时打开弹出式 div

javascript - 以十六进制设置背景颜色

android - GoogleSignIn requestPermissions onActivityResult 0 与 Google Fitness 步数/距离范围

javascript - knockout validation : how to validate the fields on button click, 不在输入更改时

javascript - 从动态创建的函数调用时全局变量不可用

Laravel Socialite Google Signin 不适用于个人资料范围

ios - Swift:谷歌登录后转到其他 View Controller

ios - Google 登录 iOS 和 Web

google-api - Google登录API : isSignedIn. get()返回不一致的值