
boxyhq/mock-saml该镜像是一个免费的模拟SAML 2.0身份提供商(IdP),旨在简化单点登录(SSO)集成的开发与测试流程。它允许开发人员和测试人员在不依赖真实身份提供商环境的情况下,快速验证SAML 2.0协议交互,降低SSO集成的开发门槛。
通过docker run命令快速启动模拟IdP服务:
bashdocker run -d -p 8080:8080 --name mock-saml-idp [镜像名称]
注:将
[镜像名称]替换为实际Docker镜像名称(如simplesamlphp/simplesamlphp或其他社区维护的SAML mock镜像)
启动后,访问http://localhost:8080即可进入IdP管理界面,默认包含基础配置和测试用户。
通过环境变量调整核心配置,常用参数如下:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
PORT | 服务监听端口 | 8080 |
IDP_ENTITY_ID | IdP实体ID(唯一标识符) | [***] |
SSO_ENDPOINT | 单点登录服务端点路径 | /saml/sso |
SP_ENTITY_ID | 目标服务提供商(SP)实体ID | [***] |
SP_ACS_URL | SP的断言消费者服务(ACS)URL | http://localhost:3000/saml/acs |
USER_ATTRIBUTES | 模拟用户属性(键值对格式) | username:testuser,******,role:user |
SIGNING_ALG | SAML响应签名算法 | [***] |
以下命令启动一个针对特定SP的模拟IdP,其中SP实体ID为[***],ACS URL为[***]:
bashdocker run -d \ -p 8080:8080 \ -e IDP_ENTITY_ID="[***]" \ -e SP_ENTITY_ID="[***]" \ -e SP_ACS_URL="[***]" \ -e USER_ATTRIBUTES="username:dev-user,******,role:admin,groups:dev-team" \ --name custom-mock-idp [镜像名称]
在多服务开发环境中,可通过docker-compose.yml集成该镜像:
yamlversion: '3' services: mock-saml-idp: image: [镜像名称] ports: - "8080:8080" environment: - IDP_ENTITY_ID=[***] - SP_ENTITY_ID=[***] - SP_ACS_URL=[***] - USER_ATTRIBUTES=username:test,***test@local,role:tester networks: - app-network my-app: # 待测试的应用服务配置 depends_on: - mock-saml-idp networks: - app-network networks: app-network:
http://localhost:8080进入IdP控制台IDP_ENTITY_ID和SSO_ENDPOINT)如需保存自定义配置(如签名证书、用户属性模板),可挂载本地目录至容器配置目录(具体路径需参考镜像文档):
bashdocker run -d \ -p 8080:8080 \ -v ./custom-config:/app/config \ # 挂载本地配置目录 --name persistent-mock-idp [镜像名称]



manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务