我正在尝试强制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开发人员,不知道如何继续。
感谢您的帮助。
答案 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
。