参考资料

  1. Fluentd 是一个开源的日志收集系统
  2. Apache Cassandra 是一个开源的分布式 NoSQL 数据库系统
  3. ClefOS 是一款基于开源技术的轻量级 Linux 发行版
  4. Hy(Hylang)是一种基于 Python 的 Lisp 方言,允许开发者使用 Lisp 语法编写代码
  5. spiped(Secure Pipe Daemon)是一个用于创建加密管道的工具
  6. docker安装nacos详细说明以及案例
  7. Haxe 是一种开源的跨平台编程语言
  8. Mono 是一个开源的 .NET 框架实现

Satosa 详细简介
Satosa 是一个高度可配置的 Python 实现的身份代理(Proxy),用于 SAML、OIDC 和其他身份协议之间的协议转换和集成。

特点  

  • 支持多协议转换(如 SAML ↔ OIDC)

  • 模块化设计,易于扩展

  • 支持插件机制(前端、后端、中间件)

  • 提供 REST API 和 Admin UI

最新更新内容及时间  

  • 最新版本:v8.0.0(2023年发布)

  • 更新内容:

    • 支持 Python 3.10+

    • 改进 OIDC 后端功能

    • 修复安全漏洞

镜像下载地址  

  • Docker Hub: https://hub.docker.com/r/identitypython/satosa

官网地址  

  • 官网: https://satosa.github.io/

文档地址  

  • 官方文档: https://satosa.readthedocs.io/

Docker 安装示例  

docker pull identitypython/satosa:latest
docker run -d -p 8080:8080 identitypython/satosa

YAML 设置教程  

  1. 创建 proxy_conf.yaml 文件:

BASE: "https://satosa.example.com"
SERVER_NAME: "satosa.example.com"
STATE_ENCRYPTION_KEY: "your_encryption_key"
  1. 配置 SAML/OIDC 后端:

backend_config:
  saml2:
    config:
      sp_config:
        metadata:
          local: ["/path/to/metadata.xml"]

常用错误问题  

  1. "Invalid metadata"

    • 检查 SAML/OIDC 元数据文件路径是否正确。

  2. "State encryption failed"

    • 确保 STATE_ENCRYPTION_KEY 配置正确且足够长。

  3. "Missing required attribute"

    • 检查身份提供者(IdP)返回的属性是否匹配配置。

  4. Docker 容器启动失败

    • 检查端口是否冲突(默认 8080)。