如何快速配置Cal.com自托管环境下的SSO单点登录:完整指南

【免费下载链接】cal.com cal.com: cal.com是一款开源的日历应用,提供了一种统一的方式来管理个人或团队的日程安排和事件,具有良好的用户体验和强大的API。 【免费下载链接】cal.com 项目地址: https://gitcode.com/GitHub_Trending/ca/cal.com

Cal.com是一款开源的日历应用,提供了统一的方式来管理个人或团队的日程安排和事件,支持SSO单点登录功能,提升企业用户的登录体验和安全性。本文将详细介绍在自托管环境下配置Cal.com的SSO单点登录的完整步骤,包括SAML和OIDC两种协议的设置方法。

SSO单点登录简介

SSO(Single Sign-On)单点登录允许用户使用一组凭据访问多个应用程序,无需重复登录,提高了用户体验和安全性。Cal.com支持SAML(Security Assertion Markup Language)和OIDC(OpenID Connect)两种主流协议,满足不同企业的身份认证需求。

Cal.com平台仪表板 Cal.com平台仪表板,可管理OAuth客户端等功能

注意事项

⚠️ 重要提示:自托管环境下使用SSO功能需要企业许可证(Enterprise License)。

SAML协议配置步骤

1. 准备数据库

设置SAML_DATABASE_URL环境变量,指向一个独立的Postgres数据库,与主Cal实例使用不同的数据库。例如:

postgresql://postgres:@localhost:5450/cal-saml

如果使用自签名证书,需添加sslmode=no-verify参数:

postgresql://postgres:@localhost:5450/cal-saml?sslmode=no-verify

2. 配置管理员邮箱

设置SAML_ADMINS环境变量,指定可配置SAML的管理员邮箱列表(逗号分隔):

SAML_ADMINS=admin1@example.com,admin2@example.com

3. 在身份提供商(IdP)创建SAML应用

按照以下设置在IdP(如Okta、Azure AD等)创建SAML应用:

  • 断言消费者服务URL(ACS URL)https://<你的自托管实例URL>/api/auth/saml/callback
  • 实体ID(Entity ID)https://saml.cal.com
  • 签名算法:RSA-SHA256
  • Name ID格式:EmailAddress
  • 属性映射
    • firstName -> user.firstName
    • lastName -> user.lastName

4. 上传IdP元数据

  1. 从IdP获取XML格式的元数据文件
  2. 使用SAML_ADMINS中配置的管理员账户登录Cal.com
  3. 导航至 设置(Settings)-> 安全(Security)
  4. 在SAML配置部分粘贴XML元数据并保存

OIDC协议配置步骤

1. 准备数据库和管理员邮箱

同SAML配置步骤1和2,设置SAML_DATABASE_URLSAML_ADMINS环境变量。

2. 获取OIDC提供商信息

从OIDC提供商(如Auth0、Keycloak等)获取:

  • Client ID
  • Client Secret
  • Well Known URL(通常格式为https://<provider-domain>/.well-known/openid-configuration

3. 在Cal.com中配置OIDC

  1. 使用管理员账户登录Cal.com
  2. 访问{BASE_URL}/settings/security/sso,进入SSO配置页面

Cal.com SSO配置页面 Cal.com的SSO配置页面,支持SAML和OIDC两种协议

  1. 点击"Configure SSO with OIDC",输入Client ID、Client Secret和Well Known URL,点击保存

OIDC配置表单 OIDC配置表单,需填写Client ID、Client Secret和Well Known URL

用户登录流程

配置完成后,用户可以通过以下步骤使用SSO登录:

  1. 访问Cal.com登录页面
  2. 点击"使用SSO登录"选项
  3. 被重定向到企业IdP的登录页面
  4. 输入企业凭据完成认证
  5. 自动重定向回Cal.com并完成登录

故障排除

  • 数据库连接问题:确保SAML_DATABASE_URL配置正确,数据库服务正常运行
  • 权限问题:确认管理员邮箱已添加到SAML_ADMINS环境变量
  • 元数据错误:检查IdP元数据是否完整且格式正确
  • 企业许可证:确保已正确配置企业许可证,否则SSO功能不可用

官方文档参考

更多详细信息,请参考官方文档:docs/self-hosting/sso-setup.mdx

通过以上步骤,您可以在Cal.com自托管环境中快速配置SSO单点登录,提升团队的登录效率和系统安全性。如有疑问,建议查阅官方文档或联系技术支持获取帮助。

【免费下载链接】cal.com cal.com: cal.com是一款开源的日历应用,提供了一种统一的方式来管理个人或团队的日程安排和事件,具有良好的用户体验和强大的API。 【免费下载链接】cal.com 项目地址: https://gitcode.com/GitHub_Trending/ca/cal.com

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐