来自Google Auth的IDToken中没有电子邮件

时间:2015-10-24 05:20:54

标签: google-oauth google-login

我试图从Google返回的IDToken收到电子邮件,这段代码实际上已经工作了好几个月,直到昨天晚上。 没有任何改变,现在对于某些设备,令牌不包含电子邮件。

我尝试检查OAuth2游乐场是否有相同的帐户,对于所有帐户,游乐场提供的令牌实际上都有电子邮件。

在我的手机上,使用相同的帐户,它不存在。 我仍然得到名称,account_id和东西,只有电子邮件丢失。

在同事的手机上,对于同一帐户,该令牌包含该电子邮件。

构建api客户端的代码:

mGoogleApiClient = new GoogleApiClient.Builder(this)
            .addApi(Plus.API)
            .addScope(Plus.SCOPE_PLUS_LOGIN)
            .addScope(Plus.SCOPE_PLUS_PROFILE)
            .addScope(new Scope(Scopes.PROFILE))
            .addScope(new Scope("email"))
            .addConnectionCallbacks(this)
            .addOnConnectionFailedListener(this)
            .requestServerAuthCode(SERVER_ID, this)
            .build();

如果这只是我的手机,这不会是一个很大的问题,但事实是它在一部手机上无法预测,这意味着它无法接受。

我想知道是否有100%保证的方式确保IDToken始终包含电子邮件。

注意:我尝试了人员.get端点,但它没有解决这个问题,甚至完全阻止某些帐户收到令牌。

1 个答案:

答案 0 :(得分:0)

如果您要请求电子邮件范围,则电子邮件应位于idtoken内。我们肯定想调试这个问题。你可以告诉我一些信息(通过视频群聊),所以我们试着看看吗?