当前位置:  开发笔记 > 编程语言 > 正文

您如何将Google登录名(Oauth2)限制为来自Flask WebApp的特定Google Apps域中的电子邮件?

如何解决《您如何将Google登录名(Oauth2)限制为来自FlaskWebApp的特定GoogleApps域中的电子邮件?》经验,为你挑选了0个好方法。

根据brijieshb42的使用requests_oauthlib 的文章,开发供公司内部使用的Flask应用程序(Python3 / Heroku),并成功实现了Google Login(Oauth2)。

研究表明,如果我在授权URL中传递参数“ hd”(托管域),则可以解决问题。例如

https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=OUR_CLIENT_ID&redirect_uri=https%3A%2F%2FOUR_APP.herokuapp.com%2Fconnect&scope=profile+email&state=STATE&hd = our_google_apps_domain.com&access_type = offline

我的理解是,此参数应提供客户端限制,并且仅允许基于Google文档,此邮件列表帖子和以下stackoverflow帖子使用来自Google Apps域的电子邮件登录(服务器端,我将在此之后处理!):post1,post2。

但是,尽管我的代码生成了我上面粘贴的授权URL,但是我仍然可以使用我的个人gmail帐户(@ gmail.com与@our apps domain.com)登录。

任何人都可以阐明为什么它不起作用吗?还是提供不同的方法?基本上,宁愿阻止非员工登录。

我可以根据需要共享代码,但是几乎可以从brijeshb42文章中粘贴出来,并且基本上是这样的:

OAuth2Session(
  OUR_CLIENT_ID,
  redirect_uri=https://OUR_APP.herokuapp.com/connect,
  scope=['profile', 'email']).authorization_url(
      https://accounts.google.com/o/oauth2/auth,
      hd='our_google_apps_domain.com',
      access_type='offline')

哪个返回我上面粘贴的身份验证网址!

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有