Docsbook
概览

私有文档:密码和 SSO

默认情况下,Docsbook 站点是公开的——任何拥有链接的人都可以阅读。您可以将 工作区切换为私有,并要求读者先解锁,方式可以是使用共享密码,或 通过您自己的身份提供商登录。

访问控制不会调用 AI 模型,因此限制工作区访问不会消耗项目余额。

私有模式的工作方式#

  • 公开(默认)— 任何拥有链接的人都可以阅读网站,与现在相同。
  • 私有— 匿名读者看到的是解锁屏幕,而不是您的内容。在解锁之前,文档的任何信息(结构、页面、搜索索引)都不会被公开。
  • 所有者始终拥有完全访问权限,无论可见性如何 — 此限制仅适用于其他所有人。
  • 您可以配置密码、SSO,或同时配置两者。如果两者都已设置,读者可以选择自己拥有的方式。

选项 1:密码保护#

更简单的选项——为整个工作区设置一个共享密码。

  1. 登录后打开您的文档
  2. 点击右下角的浮动小部件 → 设置隐私和访问权限
  3. 将可见性切换为私密
  4. 输入密码(至少 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#

  1. Google Cloud 控制台中,创建一个OAuth 2.0 客户端 ID(类型:Web 应用)
  2. 添加重定向 URI:https://docsbook.io/api/workspaces/<workspace_id>/access/sso/callback(您的工作区 ID 显示在“隐私和访问权限”面板中)
  3. 使用以下标准 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
  4. 允许的域设置为您的 Google Workspace 域(例如 acme.com),以限制只有您组织中的用户可以登录

设置 Microsoft Entra ID#

  1. Entra 管理中心 中注册新应用程序
  2. 添加重定向 URI:https://docsbook.io/api/workspaces/<workspace_id>/access/sso/callback
  3. 证书 & 密钥 下创建客户端密钥
  4. 使用租户的 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#

  1. 在您的 Okta 管理控制台中,创建一个新的 OIDC – Web Application 集成
  2. 添加登录重定向 URI:https://docsbook.io/api/workspaces/<workspace_id>/access/sso/callback
  3. 使用您的 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 设置#

  1. 打开浮动小组件 → 设置隐私 & 访问
  2. 如果尚未切换,请将可见性切换为私密
  3. 在 SSO 下点击配置 Google Workspace / Entra ID / Okta…
  4. 填写上方字段,然后点击保存 SSO

要移除 SSO,请点击 SSO 状态旁的移除。移除 SSO 不会影响单独配置的密码,反之亦然。

配置来自 AI 代理的访问权限#

连接到工作区 MCP 服务器的 AI 代理可以使用 update_access 工具设置可见性、密码和 SSO 详细信息 — 与上述字段相同,以 visibilitypasswordsso(以及 client_idclient_secretauthorization_endpointtoken_endpointjwks_uriallowed_domain)的形式传递。

故障排除#

读卡器显示“密码错误”#

密码区分大小写。如果不确定配置的密码是什么,请设置一个新密码——当前密码无法显示,只能替换。

SSO 登录因“domain_not_allowed”失败#

登录帐户的电子邮件域名与允许的域不匹配。请使用正确域名下的帐户登录,或者清除“允许的域”限制,以便允许身份提供商验证的任何帐户。

SSO 登录失败,出现“token_exchange_failed”或“id_token_verification_failed”#

请仔细检查客户端密钥和三个端点 URL——其中任何一个拼写错误都会导致握手失败。端点必须是身份提供商为您的租户/组织提供的确切端点,而不是通用占位符。

后续步骤#

Updated

此页面对您有帮助吗?