macadmins/sal-saml用于Sal的Docker容器,集成了SAML认证功能。使用前需编辑settings.py并提供SAML提供商的metadata.xml文件。
以下说明旨在帮助快速启动,可能需要根据具体环境进行调整。
SAML_ATTRIBUTE_MAPPING(值来自OpenLDAP、Active Directory等)SAML_CONFIG
entityid 示例:[***]assertion_consumer_service 示例:[***]single_logout_service 示例:[] 和 []required_attributes - 应与SAML_ATTRIBUTE_MAPPING中的值匹配idp
root url 示例:[***]single_sign_on_service 示例:[***]single_logout_service 示例:[***]请注意,以下docker run命令不完整,仅展示如何传递metadata.xml和settings.py。此外,除非有特殊原因(如需要开发版本),否则不应使用latest标签。执行docker run时,应将latest替换为最新的已标记版本。
bashdocker run -d --name="sal" \ -p 80:8000 \ -v /yourpath/metadata.xml:/home/docker/sal/sal/metadata.xml \ -v /yourpath/settings.py:/home/docker/sal/sal/settings.py \ --restart="always" \ macadmins/sal-saml:latest
在OneLogin管理门户中,点击“应用 > 添加应用”。
搜索“SAML Test Connector (IdP)”并点击该选项。
为应用命名,可选上传图标,然后点击“保存”。
在“配置”选项卡中,至少需设置以下参数:
Recipient:[***]ACS (Consumer) URL Validator:.*(注意是句点后跟星号)ACS (Consumer) URL:[***]在“参数”选项卡中,添加自定义iDP字段/值,步骤如下:
字段名称:FIELD_NAME标志:勾选“包含在SAML断言中”对所有必填字段重复上述步骤:
| FIELD_NAME | FIELD_VALUE |
|---|---|
| urn:mace:dir:attribute-def:cn | 名字 |
| urn:mace:dir:attribute-def:sn | 姓氏 |
| urn:mace:dir:attribute-def:mail | *** |
| urn:mace:dir:attribute-def:uid | ***用户名部分 |
在“SSO”选项卡中,下载“Issuer URL”元数据文件,该文件需挂载到Docker容器中(见上文Docker运行示例)。
在“SSO”选项卡中,找到“SAML 2.0 Endpoint”和“SLO Endpoint”,并填入settings.py的idp部分。
最后,保存“SAML Test Connector (IdP)”配置。
Okta的实现略有不同,本容器使用的部分工具(特别是pysaml2和djangosaml2)默认情况下可能不兼容。请按照以下步骤设置,确保替换示例URL:
从管理门户创建新应用
平台:Web
登录方法:SAML 2.0
在“常规设置”中,为应用命名、添加logo,并根据需要修改应用可见性。
在“配置SAML”中输入以下内容(冒号后无值则留空):
单点登录URL:[]
将此用于收件人URL和目标URL:已勾选
允许此应用请求其他SSO URL:未勾选(如该选项可用)
受众URI(SP实体ID):[]
默认RelayState:未指定
应用用户名:Okta用户名
| 名称 | 格式 | 值 |
|---|---|---|
| urn:mace:dir:attribute-def:cn | Basic | ${user.firstName} |
| urn:mace:dir:attribute-def:sn | Basic | ${user.lastName} |
| urn:mace:dir:attribute-def:mail | Basic | ${user.email} |
| urn:mace:dir:attribute-def:uid | Basic | ${user.login} |
Sal目前不支持此功能。
在“反馈”中:
您是客户还是合作伙伴?我是添加内部应用的Okta客户
应用类型:这是我们创建的内部应用
从以下位置下载元数据文件:“登录”选项卡 > 设置 > SAML 2.0 > “身份提供商元数据”链接
metadata.xml以匹配Docker运行示例,并确保将其移动到Docker主机的正确位置。在“登录”选项卡 > 设置 > SAML 2.0 > “查看设置说明”中,找到“身份提供商单点登录URL”和“身份提供商颁发者”,并填入settings.py的idp部分。
有关settings.py配置的更多信息,请查看[]
此外,可加入MacAdmins Slack团队的#sal频道([]
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像服务
在 Docker Desktop 配置镜像
Docker Compose 项目配置
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
MacOS OrbStack 容器配置
在宝塔面板一键配置镜像
Synology 群晖 NAS 配置
飞牛 fnOS 系统配置镜像
极空间 NAS 系统配置服务
爱快 iKuai 路由系统配置
绿联 NAS 系统配置镜像
QNAP 威联通 NAS 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
来自真实用户的反馈,见证轩辕镜像的优质服务