<small id='jM7AX'></small><noframes id='jM7AX'>

  • <tfoot id='jM7AX'></tfoot>
  • <legend id='jM7AX'><style id='jM7AX'><dir id='jM7AX'><q id='jM7AX'></q></dir></style></legend>

    • <bdo id='jM7AX'></bdo><ul id='jM7AX'></ul>
    1. <i id='jM7AX'><tr id='jM7AX'><dt id='jM7AX'><q id='jM7AX'><span id='jM7AX'><b id='jM7AX'><form id='jM7AX'><ins id='jM7AX'></ins><ul id='jM7AX'></ul><sub id='jM7AX'></sub></form><legend id='jM7AX'></legend><bdo id='jM7AX'><pre id='jM7AX'><center id='jM7AX'></center></pre></bdo></b><th id='jM7AX'></th></span></q></dt></tr></i><div id='jM7AX'><tfoot id='jM7AX'></tfoot><dl id='jM7AX'><fieldset id='jM7AX'></fieldset></dl></div>

        使用参数(django/python-Social-auth)将Google OAuth访问限制为一个域

        Limit Google OAuth access to one domain using #39;hd#39; param (Django / python-social-auth)(使用参数(django/python-Social-auth)将Google OAuth访问限制为一个域)
      1. <legend id='yX1J9'><style id='yX1J9'><dir id='yX1J9'><q id='yX1J9'></q></dir></style></legend>
          <tbody id='yX1J9'></tbody>
        <tfoot id='yX1J9'></tfoot>

        <small id='yX1J9'></small><noframes id='yX1J9'>

            • <bdo id='yX1J9'></bdo><ul id='yX1J9'></ul>
              <i id='yX1J9'><tr id='yX1J9'><dt id='yX1J9'><q id='yX1J9'><span id='yX1J9'><b id='yX1J9'><form id='yX1J9'><ins id='yX1J9'></ins><ul id='yX1J9'></ul><sub id='yX1J9'></sub></form><legend id='yX1J9'></legend><bdo id='yX1J9'><pre id='yX1J9'><center id='yX1J9'></center></pre></bdo></b><th id='yX1J9'></th></span></q></dt></tr></i><div id='yX1J9'><tfoot id='yX1J9'></tfoot><dl id='yX1J9'><fieldset id='yX1J9'></fieldset></dl></div>

                1. 本文介绍了使用参数(django/python-Social-auth)将Google OAuth访问限制为一个域的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我正在为我的公司构建一个内部WebApp以供使用,并希望使用我们的Google Apps域来管理来自我们公司域名用户名(此问题的睡觉为example.com)的访问。

                  我正在使用:

                  Django==1.9.5
                  python-social-auth==0.2.19
                  + dependencies
                  

                  通过阅读其他SO问题,我发现可以通过以下设置使用GOOG"托管域"(HD)参数:

                   SOCIAL_AUTH_GOOGLE_OAUTH2_AUTH_EXTRA_ARGUMENTS = {'hd': 'example.com'}
                  

                  该参数正在成功追加到初始请求,我可以在授予访问权限之前在URL中看到它。

                  然而,它并没有像我预期的那样工作。我已成功使用两个非公司电子邮件地址进行身份验证。

                  我是否误解了"hd="参数的工作原理,或者我是否还需要限制通过Google Admin仪表板上其他位置的应用程序进行访问?或者只是在OAuth2流中不受支持?

                  提前感谢您的帮助。

                  推荐答案

                  我知道这是一个较旧的帖子,但我发现它在搜索如何向OAuth2添加额外的URL参数。我不知道如何设置HD参数。

                  根据您的情况,将白名单设置为您要接受的域。他们可以通过向Google添加未指定的托管域帐户进行身份验证,但不会登录到您的站点。他们将收到AuthForbidden异常,并显示消息"不允许使用您的凭据。"

                  要设置您的站点接受的域的白名单,请将以下内容添加到settings.py:

                  SOCIAL_AUTH_GOOGLE_OAUTH2_WHITELISTED_DOMAINS = ['domain.com', 'example.org']
                  

                  您还可以设置一个更友好的页面,这样他们就不会收到默认的500错误页面:

                  SOCIAL_AUTH_LOGIN_ERROR_URL = '/authentication_error/'
                  SOCIAL_AUTH_BACKEND_ERROR_URL = '/authentication_error/'
                  

                  更新urls.py以使此url指向呈现了漂亮HTML页的视图,以便让他们知道出了什么问题。

                  这篇关于使用参数(django/python-Social-auth)将Google OAuth访问限制为一个域的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  groupby multiple coords along a single dimension in xarray(在xarray中按单个维度的多个坐标分组)
                  Group by and Sum in Pandas without losing columns(Pandas中的GROUP BY AND SUM不丢失列)
                  Group by + New Column + Grab value former row based on conditionals(GROUP BY+新列+基于条件的前一行抓取值)
                  Groupby and interpolate in Pandas(PANDA中的Groupby算法和插值算法)
                  Pandas - Group Rows based on a column and replace NaN with non-null values(PANAS-基于列对行进行分组,并将NaN替换为非空值)
                  Grouping pandas DataFrame by 10 minute intervals(按10分钟间隔对 pandas 数据帧进行分组)
                    <bdo id='86PqD'></bdo><ul id='86PqD'></ul>

                    <i id='86PqD'><tr id='86PqD'><dt id='86PqD'><q id='86PqD'><span id='86PqD'><b id='86PqD'><form id='86PqD'><ins id='86PqD'></ins><ul id='86PqD'></ul><sub id='86PqD'></sub></form><legend id='86PqD'></legend><bdo id='86PqD'><pre id='86PqD'><center id='86PqD'></center></pre></bdo></b><th id='86PqD'></th></span></q></dt></tr></i><div id='86PqD'><tfoot id='86PqD'></tfoot><dl id='86PqD'><fieldset id='86PqD'></fieldset></dl></div>

                          <tfoot id='86PqD'></tfoot>
                            <tbody id='86PqD'></tbody>
                        1. <small id='86PqD'></small><noframes id='86PqD'>

                            <legend id='86PqD'><style id='86PqD'><dir id='86PqD'><q id='86PqD'></q></dir></style></legend>