我的公司使用 Google 管理内部员工登录。 我在 google bigquery 之上创建了一个 Flask 应用程序,该应用程序应该仅供公司员工使用。 我关注了this manual对员工进行身份验证,但如果 Gmail 私有(private)用户登录,它仍然会通过。如何确保只有公司员工才能登录该应用程序? 我考虑过检查电子邮件的域名,但找不到获取电子邮件的好示例。
最佳答案
我使用email
范围获取了电子邮件。
如果尚未启用,请先启用 Google People API
,如图所示 here
之后将email
添加到您的范围列表中并发送请求,如下所示(在Python中):
get_user = requests.get('https://www.googleapis.com/oauth2/v3/tokeninfo?id_token={}'.format(credentials._id_token))
如果调用成功,您可以提取电子邮件以检查其域:
json.loads(get_user.text)['email']
关于python google oauth 仅限制域用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48047627/