几个月前,我们为我们的网站实施了 Google OAuth。到目前为止,两个用户(约 100 个)的用户信息配置文件不完整。我们使用有效令牌调用“ https://www.googleapis.com/oauth2/v1/userinfo ?”,响应 json 仅包含 [locale, verify_email, email, id]。
文档(https://developers.google.com/accounts/docs/OAuth2Login#userinfocall)并不明确,但我解释它们的方式,
回复应始终包括:[id、email、verified_email、name、given_name、family_name、timezone、gender] 有时包括:[picture、locale]
有谁知道 UserInfo API 有什么样的保证?我应该拒绝不完整的个人资料为无效吗?对于配置文件不完整的原因,还有其他解释吗?
更新 3/6/14
我能够复制问题。我们将用户发送到谷歌请求,两个范围:
https://www.googleapis.com/auth/userinfo.profile
和
https://www.googleapis.com/auth/userinfo.email
据我所知,谷歌不允许用户挑选他们允许的范围。要么全有,要么全无。但是,我能够从 URL 中删除 userinfo.profile 范围并重新加载页面。这导致我被送回一个有效的令牌,但不是正确的范围。我需要点击 tokeninfo 端点并确保已授权正确的范围。