2

我正在尝试强制在 docker 中运行 Weblate以支持 SAML2 身份验证(我们有公司 ADFS)。我找到了 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 开发人员,不知道如何继续。

感谢帮助。

4

2 回答 2

0

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

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

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

然后RUNexec那个文件上。

于 2018-05-04T22:57:36.743 回答
0

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

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

PS:如果您设法设置它,我很乐意将它集成到 Weblate 中 - 至少作为文档或任何代码更改(如果需要的话)。

于 2017-12-02T18:22:17.587 回答