跳到主要内容
本指南将介绍如何为 LangSmith API 文档自定义 OpenAPI 安全方案。完善的文档安全方案有助于 API 使用者了解如何通过您的 API 进行身份验证,甚至可以自动生成客户端。有关 LangGraph 身份验证系统的更多详细信息,请参阅身份验证与访问控制概念指南
实现与文档 本指南仅介绍如何在 OpenAPI 中记录您的安全要求。要实现实际的身份验证逻辑,请参阅如何添加自定义身份验证
本指南适用于所有 LangSmith 部署(云和自托管)。如果您不使用 LangSmith,则不适用于 LangGraph 开源库的使用。

默认方案

默认安全方案因部署类型而异
  • LangSmith
默认情况下,LangSmith 要求在 x-api-key 标头中提供 LangSmith API 密钥
components:
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
security:
  - apiKeyAuth: []
使用 LangGraph SDK 之一时,可以从环境变量中推断出这一点。
  • 自托管
默认情况下,自托管部署没有安全方案。这意味着它们只能部署在安全网络上或带有身份验证。要添加自定义身份验证,请参阅如何添加自定义身份验证

自定义安全方案

要自定义 OpenAPI 文档中的安全方案,请在 langgraph.json 中的 auth 配置中添加 openapi 字段。请记住,这只会更新 API 文档 - 您还必须实现相应的身份验证逻辑,如如何添加自定义身份验证中所示。 请注意,LangSmith 不提供身份验证端点 - 您需要在客户端应用程序中处理用户身份验证,并将生成的凭据传递给 LangGraph API。
  • 带有不记名令牌的 OAuth2
  • API 密钥
{
  "auth": {
    "path": "./auth.py:my_auth",  // Implement auth logic here
    "openapi": {
      "securitySchemes": {
        "OAuth2": {
          "type": "oauth2",
          "flows": {
            "implicit": {
              "authorizationUrl": "https://your-auth-server.com/oauth/authorize",
              "scopes": {
                "me": "Read information about the current user",
                "threads": "Access to create and manage threads"
              }
            }
          }
        }
      },
      "security": [
        {"OAuth2": ["me", "threads"]}
      ]
    }
  }
}

测试

更新配置后
  1. 部署您的应用程序
  2. 访问 /docs 查看更新后的 OpenAPI 文档
  3. 使用来自您的身份验证服务器的凭据尝试端点(请确保您已首先实现身份验证逻辑)

以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。
© . This site is unofficial and not affiliated with LangChain, Inc.