本指南介绍如何为您的 LangSmith API 文档自定义 OpenAPI 安全模式。记录良好的安全模式可帮助 API 使用者了解如何向您的 API 进行身份验证,甚至支持自动客户端生成。请参阅 身份验证和访问控制概念指南 了解更多关于 LangGraph 身份验证系统的详细信息。
本指南适用于所有 LangSmith 部署(云端和自托管)。如果您未使用 LangSmith,则不适用于 LangGraph 开源库的使用。
默认模式
默认安全方案因部署类型而异:
LangSmith
默认情况下,LangSmith 需要在 x-api-key header:
components:
securitySchemes:
apiKeyAuth:
type: apiKey
in: header
name: x-api-key
security:
- apiKeyAuth: []
中使用 LangSmith API 密钥。当使用 LangGraph SDK 之一时,可以从环境变量推断。
Self-hosted
默认情况下,自托管部署没有安全方案。这意味着它们只能部署在安全网络上或配合身份验证使用。要添加自定义身份验证,请参阅 如何添加自定义身份验证.
自定义安全模式
要自定义 OpenAPI 文档中的安全模式,请添加 openapi 字段到您的 auth 配置中 langgraph.json。请记住,这只会更新 API 文档 - 您还必须按照 如何添加自定义身份验证.
中所示实现相应的身份验证逻辑。请注意,LangSmith 不提供身份验证端点 - 您需要在客户端应用程序中处理用户身份验证,并将生成的凭证传递给 LangGraph API。
OAuth2 with Bearer Token
{
"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"]}
]
}
}
}
API Key
{
"auth": {
"path": "./auth.py:my_auth", // Implement auth logic here
"openapi": {
"securitySchemes": {
"apiKeyAuth": {
"type": "apiKey",
"in": "header",
"name": "X-API-Key"
}
},
"security": [
{"apiKeyAuth": []}
]
}
}
}
测试
更新配置后:
- 部署您的应用程序
- 访问
/docs查看更新的 OpenAPI 文档 - 使用身份验证服务器的凭证测试端点(请确保您已先实现身份验证逻辑)