本文档提供了关于 Keep 中 Okta 集成的综合信息。
概述
Keep 支持将 Okta 作为认证提供商,实现:
- 通过 Okta 实现单一登录 (SSO)
- OAuth2/OIDC 认证流程
- 使用 JWKS 进行 JWT 令牌验证
- 通过令牌声明进行基于角色的访问控制
环境变量
后端环境变量
| 变量 | 描述 | 必填 |
|---|---|---|
AUTH_TYPE | 设置为 "OKTA" 以启用 Okta 认证 | 是 |
OKTA_DOMAIN | 您的 Okta 域名(例如 https://company.okta.com) | 是 |
OKTA_ISSUER | 您的 Okta 授权服务器的发行者 URL(例如 https://company.okta.com/oauth2/default) | 是 |
OKTA_CLIENT_ID | 您的 Okta 应用程序的客户端 ID | 是 |
OKTA_CLIENT_SECRET | 您的 Okta 应用程序的客户端密钥 | 是 |
OKTA_AUDIENCE | 令牌中预期的受众声明。如果未设置,回退到 OKTA_CLIENT_ID | 否 |
OKTA_JWKS_URL | 显式 JWKS URL。如果未设置,从 OKTA_ISSUER 派生 | 否 |
OKTA_API_TOKEN | 用于管理操作的 Okta API 令牌 | 否 |
前端环境变量
| 变量 | 描述 | 示例 |
|---|---|---|
AUTH_TYPE | 设置为 "OKTA" 以启用 Okta 认证 | OKTA |
OKTA_ISSUER | 您的 Okta 授权服务器的发行者 URL | https://company.okta.com/oauth2/default |
OKTA_CLIENT_ID | 您的 Okta 应用程序的客户端 ID | 0oa1bcdef2ghijklm3n4 |
OKTA_CLIENT_SECRET | 您的 Okta 应用程序的客户端密钥 | abcd1234efgh5678 |
Okta 配置
创建 Okta 应用程序
- 登录到您的 Okta 管理控制台
- 导航到 应用程序 > 应用程序
- 点击 创建应用集成
- 选择 OIDC - OpenID Connect 作为登录方法
- 选择 Web 应用程序 作为应用程序类型
- 点击 下一步
应用程序设置
- 应用集成名称:输入您的应用程序名称(例如"Keep")
- 登录重定向 URI:添加您的回调 URL:
https://your-keep-domain.com/api/auth/callback/okta - 注销重定向 URI:添加您的注销 URL:
https://your-keep-domain.com - 分配:将应用程序分配给适当的用户或组
- 点击 保存
- 从应用程序设置中复制 客户端 ID 和 客户端密钥
角色映射
Keep 从 JWT 令牌中提取用户角色。角色按以下顺序确定:
- 令牌中的
keep_role声明 - 令牌中的
role声明 groups声明中的第一个条目- 回退到
user角色
要配置角色映射,请将自定义声明添加到您的 Okta 授权服务器:
- 导航到 安全性 > API > 授权服务器
- 选择您的授权服务器(例如
default) - 转到 声明 选项卡
- 添加名为
keep_role或groups的声明,映射到用户在 Keep 中的角色