【问题标题】:Use SAML2 auth with Weblate将 SAML2 身份验证与 Weblate 一起使用
【发布时间】:2018-05-15 18:23:13
【问题描述】:

我正在尝试强制 Weblate running in docker 支持 SAML2 身份验证(我们有公司 ADFS)。我找到了plugin for django。所以我创建了自己的 Dockerfile:

from weblate/weblate
RUN set -x \
    && apt-get install --no-install-recommends -y xmlsec1 build-essential \
    && pip install django_saml2_auth

RUN (echo && echo 'execfile("/app/data/settings.override.py")') >> /app/etc/settings.py

settings.override.py 的内容:

INSTALLED_APPS = INSTALLED_APPS + ('django_saml2_auth',)                                                      

SAML2_AUTH = {                                                                                                
    'METADATA_AUTO_CONF_URL': 'https://adfs.homecredit.net/federationmetadata/2007-06/federationmetadata.xml',
}                                                                                                             

我在插件手册中设置 'urls.py' 失败(我在 docker 容器中找不到此文件) - 我不是 python/django 开发人员,不知道如何继续。

感谢您的帮助。

【问题讨论】:

    标签: python django weblate


    【解决方案1】:

    Weblate 已经使用了 python-social-auth,所以首先尝试它的 SAML 支持可能更容易。至少您不必关心将身份验证框架集成到 Weblate 中,而只需设置身份验证(无论如何,对于 SAML,这似乎是相当复杂的事情)。

    请参阅他们的文档以获取说明:https://python-social-auth.readthedocs.io/en/latest/backends/saml.html

    PS:如果您设法进行了设置,我很乐意将其集成到 Weblate 中 - 至少在需要时更改文档或任何代码。

    【讨论】:

    • 感谢提示。看起来比我以前的路径更容易,但仍然不容易。首先,docker 映像中缺少 python-saml 库。有关更多信息,请参阅commit。还有问题生成自己的元数据,如documentation 所述
    • 确实,它(还没有)集成。我在github.com/WeblateOrg/docker/commit/… 中添加了所需的库。这样生成的 XML 配置看起来有点难看,我不确定它是否可以更好地集成......
    【解决方案2】:

    我最近尝试将此应用程序集成到我的开发环境中,但遇到了另一个问题,您可以在 my question 中看到

    关于您的问题-您为什么要创建settings.override.py
    您无权修改settings.py
    您需要查看文件实际驻留在 Docker 环境中的位置,是否将其放置在错误的位置?
    可能是您需要ADD 文件,即:

    ADD <file_name> /you/path/here/<file_name>
    

    然后是 RUN exec 在该文件上。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-10
      • 2020-03-12
      • 2011-11-25
      • 2017-05-10
      • 1970-01-01
      • 1970-01-01
      • 2013-05-12
      • 2022-01-02
      相关资源
      最近更新 更多