如何判断用户使用的是谷歌帐户还是G Suite for Education帐户?



我使用的是Google OAuth2.0,要求只是让G Suite for Education帐户登录,所以我想知道用户在身份验证期间使用什么类型的帐户。

登录部分已完成,我得到了访问令牌和刷新令牌,我要求两个范围 https://www.googleapis.com/auth/userinfo.profile,https://www.googleapis.com/auth/userinfo.email

我检查了用户配置文件,这无法帮助我识别帐户类型。

我可以通过仅要求上述两个范围来区分这两种类型的帐户吗? 如果没有,我需要哪些其他作用域以及需要使用什么 API?

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

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

感谢任何人的帮助。

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

如果电子邮件具有自定义域,例如 ABC.COM 则其GSUITE 如果只是 gmail.com 它不是gsuite

当我需要知道用户是否是 G Suite 教育版用户时,我所做的就是请求范围"https://www.googleapis.com/auth/classroom.profile.photos"。如果我没记错的话,只有具有教育帐户的用户才会被要求授予该权限。您可能可以使用从课堂 API 到 (https://developers.google.com/classroom/reference/rest/( 的任何范围。

我不再与谷歌集成,所以大约一年没有测试过它。

最新更新