我正在开发一个应用程序,允许用户将他们的云端硬盘文件分享给朋友。但是Google App帐户存在问题,例如[email protected]
,其中的文件不能与不在该域下的人共享。尽管共享策略可以由管理员更改somedomain.com
,但我不想允许人们通过 Google Apps 帐户使用我的应用程序。
我还检查了这个帖子:如何判断该帐户是否是Google Apps帐户?。但我不同意检查域来检测帐户类型的想法。因为人们可以使用任何电子邮件地址注册 Google 帐户。我刚刚用我的 Hotmail 注册了一个,[email protected]
,共享文件时没有域限制。
有人能帮忙吗?谢谢!
假设您包括:
https://www.googleapis.com/auth/userinfo.email
在您的 OAuth 范围内,您可以向以下位置发出请求:
https://www.googleapis.com/oauth2/v2/userinfo
如果它是 Google Apps 帐户,则调用将返回“hd”参数(托管域?),并将 Google Apps 域作为其值。如果是消费者帐户,无论是@gmail.com甚至是潜在的“冲突帐户”,都不会返回hd参数。请参阅下面我的示例。[电子邮件受保护]是 Google Apps 帐户,同时[电子邮件受保护]是一个消费者账户。如果我在 Google Apps 域中创建了一个消费者用户,它将成为一个冲突帐户,并且该消费者帐户将被推出 @jay.powerposters.org 命名空间,但这种情况尚未发生。
For [电子邮件受保护]:
GET https://www.googleapis.com/oauth2/v2/userinfo
HTTP/1.1 200 OK
Content-length: 99
X-xss-protection: 1; mode=block
...
{
"email": "[email protected]",
"verified_email": true,
"hd": "jay.powerposters.org"
}
For [电子邮件受保护]:
GET https://www.googleapis.com/oauth2/v2/userinfo
HTTP/1.1 200 OK
Content-length: 71
X-xss-protection: 1; mode=block
{
"email": "[email protected]",
"verified_email": true
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)