私有文档:密码和 SSO
默认情况下,Docsbook 站点是公开的——任何拥有链接的人都可以阅读。您可以将 工作区切换为私有,并要求读者先解锁,方式可以是使用共享密码,或 通过您自己的身份提供商登录。
访问控制不会调用 AI 模型,因此限制工作区访问不会消耗项目余额。
私有模式的工作方式#
- 公开(默认)— 任何拥有链接的人都可以阅读网站,与现在相同。
- 私有— 匿名读者看到的是解锁屏幕,而不是您的内容。在解锁之前,文档的任何信息(结构、页面、搜索索引)都不会被公开。
- 所有者始终拥有完全访问权限,无论可见性如何 — 此限制仅适用于其他所有人。
- 您可以配置密码、SSO,或同时配置两者。如果两者都已设置,读者可以选择自己拥有的方式。
选项 1:密码保护#
更简单的选项——为整个工作区设置一个共享密码。
- 登录后打开您的文档
- 点击右下角的浮动小部件 → 设置 → 隐私和访问权限
- 将可见性切换为私密
- 输入密码(至少 8 个字符),然后点击设置
输入正确密码的读者将在一段时间内保持解锁状态,因此无需每次访问时重新输入 密码。要更改密码,请按照相同方式设置新密码。要移除密码保护,请点击密码字段旁的移除。
选项 2:使用您自己的身份提供商进行 SSO#
Docsbook SSO 仅支持 OIDC。您需要在自己的身份提供商处注册一个 OIDC 应用,并在下方输入 其详细信息;读者随后即可使用现有的工作账号登录,而不必使用共享 密码。Docsbook 不会查看或存储您提供商的管理员凭据——仅保存您输入的 OAuth 应用 详细信息。
不支持 SAML。 如果您的身份提供商配置为 SAML,且无法签发 OIDC 应用注册信息,那么目前可用的选项是密码保护。Docsbook 将 SAML 列为计划功能,尚未发布;本页面仅介绍当前可用的功能。
您需要从身份提供商的应用注册信息中获取:
| 字段 | 说明 |
|---|---|
| Issuer URL | 您的提供商的 OIDC 发行者标识符 |
| Client ID | 应用注册的公开标识符 |
| Client secret | 应用注册的密钥(经过加密存储,保存后不会再次显示) |
| Authorization endpoint | 读者登录时跳转到的地址 |
| Token endpoint | Docsbook 用于将登录代码交换为身份令牌的地址 |
| JWKS URI | Docsbook 用于验证身份令牌签名的地址 |
| Allowed domain (可选) | 将登录限制为一个电子邮件域名,例如 acme.com ——即使拥有有效的 IdP 凭据,域名之外的用户也会被拒绝 |
设置 Google Workspace#
- 在 Google Cloud 控制台中,创建一个OAuth 2.0 客户端 ID(类型:Web 应用)
- 添加重定向 URI:
https://docsbook.io/api/workspaces/<workspace_id>/access/sso/callback(您的工作区 ID 显示在“隐私和访问权限”面板中) - 使用以下标准 Google 端点:
- 颁发者:
https://accounts.google.com - 授权端点:
https://accounts.google.com/o/oauth2/v2/auth - 令牌端点:
https://oauth2.googleapis.com/token - JWKS URI:
https://www.googleapis.com/oauth2/v3/certs
- 颁发者:
- 将允许的域设置为您的 Google Workspace 域(例如
acme.com),以限制只有您组织中的用户可以登录
设置 Microsoft Entra ID#
- 在 Entra 管理中心 中注册新应用程序
- 添加重定向 URI:
https://docsbook.io/api/workspaces/<workspace_id>/access/sso/callback - 在 证书 & 密钥 下创建客户端密钥
- 使用租户的 OIDC 端点(位于应用概述中的 端点 下),通常包括:
- 颁发者:
https://login.microsoftonline.com/<tenant-id>/v2.0 - 授权端点:
https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/authorize - 令牌端点:
https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token - JWKS URI:
https://login.microsoftonline.com/<tenant-id>/discovery/v2.0/keys
- 颁发者:
设置 Okta#
- 在您的 Okta 管理控制台中,创建一个新的 OIDC – Web Application 集成
- 添加登录重定向 URI:
https://docsbook.io/api/workspaces/<workspace_id>/access/sso/callback - 使用您的 Okta 域的端点,通常包括:
- 颁发者:
https://<your-org>.okta.com - 授权端点:
https://<your-org>.okta.com/oauth2/v1/authorize - 令牌端点:
https://<your-org>.okta.com/oauth2/v1/token - JWKS URI:
https://<your-org>.okta.com/oauth2/v1/keys
- 颁发者:
保存 SSO 设置#
- 打开浮动小组件 → 设置 → 隐私 & 访问
- 如果尚未切换,请将可见性切换为私密
- 在 SSO 下点击配置 Google Workspace / Entra ID / Okta…
- 填写上方字段,然后点击保存 SSO
要移除 SSO,请点击 SSO 状态旁的移除。移除 SSO 不会影响单独配置的密码,反之亦然。
配置来自 AI 代理的访问权限#
连接到工作区 MCP 服务器的 AI 代理可以使用 update_access 工具设置可见性、密码和 SSO 详细信息 — 与上述字段相同,以 visibility、password 和 sso(以及 client_id、
client_secret、authorization_endpoint、token_endpoint、jwks_uri、allowed_domain)的形式传递。
故障排除#
读卡器显示“密码错误”#
密码区分大小写。如果不确定配置的密码是什么,请设置一个新密码——当前密码无法显示,只能替换。
SSO 登录因“domain_not_allowed”失败#
登录帐户的电子邮件域名与允许的域不匹配。请使用正确域名下的帐户登录,或者清除“允许的域”限制,以便允许身份提供商验证的任何帐户。
SSO 登录失败,出现“token_exchange_failed”或“id_token_verification_failed”#
请仔细检查客户端密钥和三个端点 URL——其中任何一个拼写错误都会导致握手失败。端点必须是身份提供商为您的租户/组织提供的确切端点,而不是通用占位符。
后续步骤#
- 管理您的文档网站 — Privacy & Access 面板在其他设置中的位置。
- Docsbook 包含哪些内容以及哪些内容需要付费 — 与此功能相关的功能,以及哪些功能会消耗项目余额。
- MCP 工具参考 —
update_access的完整参数列表。