在Weblate中使用SAML2 auth

时间:2017-12-01 15:48:02

标签: python django weblate

我正在尝试强制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开发人员,不知道如何继续。

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

Weblate已经使用了python-social-auth,因此可能更容易首先尝试SAML支持。至少你不必关心将身份验证框架集成到Weblate中,而只需要设置身份验证(无论如何,SAML看起来都很复杂)。

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

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

答案 1 :(得分:0)

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

中看到

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

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

然后RUN该文件中的exec