假设您包括:
https://www.googleapis.com/auth/userinfo.email
在您的 OAuth 范围内,您可以提出以下请求:
https://www.googleapis.com/oauth2/v2/userinfo
如果它是 Google Apps 帐户,则调用将返回一个“hd”参数(托管域?),并将 Google Apps 域作为其值。如果是消费者账户,无论是@gmail.com 还是潜在的“冲突账户”,都不会返回 hd 参数。请参阅下面的示例。admin@jay.powerposters.org 是 Google Apps 帐户,而 consumer@jay.powerposters.org 是消费者帐户。如果我在 Google Apps 域中创建消费者用户,它将成为一个冲突帐户,并且消费者帐户将被推出 @jay.powerposters.org 命名空间,但这还没有发生。
对于 admin@jay.powerposters.org:
GET https://www.googleapis.com/oauth2/v2/userinfo
HTTP/1.1 200 OK
Content-length: 99
X-xss-protection: 1; mode=block
...
{
"email": "admin@jay.powerposters.org",
"verified_email": true,
"hd": "jay.powerposters.org"
}
对于 consumer@jay.powerposters.org:
GET https://www.googleapis.com/oauth2/v2/userinfo
HTTP/1.1 200 OK
Content-length: 71
X-xss-protection: 1; mode=block
{
"email": "consumer@jay.powerposters.org",
"verified_email": true
}