如何判断用户使用的是Google帐户还是G Suite教育版帐户?

时间:2018-09-11 19:07:46

标签: google-oauth2 gsuite

我正在使用Google OAuth2.0,要求仅允许G Suite用于教育帐户登录,所以我想知道身份验证期间用户使用的是哪种类型的帐户。

登录部分完成,我获得访问令牌和刷新令牌,我要求两个作用域https://www.googleapis.com/auth/userinfo.profilehttps://www.googleapis.com/auth/userinfo.email

我检查了用户个人资料,这无法帮助我识别帐户类型。

我可以仅通过以上两个范围来区分这两种类型的帐户吗?如果不是,我还需要哪些其他范围以及我需要使用哪些API?

我在网上找到了一个示例,https://www.brainpop.com/支持了我提到的内容。

网站仅要求提供基本帐户信息,例如查看您的基本个人资料信息和查看您的电子邮件地址。当我使用我的个人Google帐户登录时,登录将被拒绝,并告诉我它不是G-suite教育帐户。

感谢任何人的帮助。

2 个答案:

答案 0 :(得分:0)

检查电子邮件 https://www.googleapis.com/auth/userinfo.email

如果电子邮件具有像ABC.COM这样的自定义域名,则其gsuite 如果只是gmail.com,则不是gsuite

答案 1 :(得分:0)

当我需要知道用户是否是教育用户的G套件时,我所做的就是也请求范围“ https://www.googleapis.com/auth/classroom.profile.photos”。如果我没有记错的话,只会要求拥有for教育帐户的用户授予该权限。您可以使用从教室API到(https://developers.google.com/classroom/reference/rest/)的任何范围。

我已不再与Go​​ogle集成,因此大约一年没有对其进行测试。