python google oauth 仅限制域用户

标签 python google-authentication

我的公司使用 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/

相关文章:

python - django 中的网络 ERP 我从哪里开始?

Python 在 dict 中使用 %s 来调用 value

python - Pandas:将多个列名作为参数传递给具有 apply 的函数

azure - 应用服务内置Google身份验证

python - 如何将带有 2 个参数的类字典复制到 2 个列表中

python - 为什么这个 python 正则表达式不起作用?

java - 如何将 Firebase 引用转移到另一个 android Activity

android - Google 新登录,未调用 onActivityResult()

ruby-on-rails - 在 Ruby 中验证 Google ID token 的完整性

android - 使用 Firebase 登录 Android - statusCode DEVELOPER_ERROR