数か月前にウェブサイトに Google OAuth を実装しました。これまでのところ、2 人のユーザー (約 100 人) のユーザー情報プロファイルが不完全でした。有効なトークンを使用して「 https://www.googleapis.com/oauth2/v1/userinfo ?」を呼び出します。応答の json には [locale, registered_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 にどのような保証があるか知っている人はいますか? 不完全なプロファイルを無効として拒否する必要がありますか? プロファイルが不完全である理由について他に説明はありますか?
UPDATE 3/6/14
問題を再現できました。ユーザーを Google に送り、次の 2 つのスコープをリクエストします。
https://www.googleapis.com/auth/userinfo.profile
および
https://www.googleapis.com/auth/userinfo.email
私が知る限り、Googleはユーザーが許可するスコープを選択することを許可していません。それはすべてまたは何もありません。ただし、URL から userinfo.profile スコープを削除して、ページをリロードすることはできました。これにより、有効なトークンが返されましたが、正しいスコープではありませんでした。tokeninfo エンドポイントにアクセスして、正しいスコープが承認されていることを確認する必要があります。