在OpenAPI中记录API认证¶
本指南展示了如何为您的LangGraph平台API文档定制OpenAPI安全架构。一个文档齐全的安全架构有助于API使用者理解如何对您的API进行认证,甚至可以实现自动客户端生成。有关LangGraph认证系统的更多详细信息,请参阅认证与访问控制概念指南。
实现与文档
本指南仅涵盖如何在OpenAPI中记录您的安全要求。要实现实际的认证逻辑,请参阅如何添加自定义认证。
本指南适用于所有LangGraph平台部署(云端和自托管)。如果您不使用LangGraph平台,则不适用于LangGraph开源库的使用。
默认架构¶
默认安全方案因部署类型而异
默认情况下,LangGraph平台要求在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文档——您还必须实现相应的认证逻辑,如如何添加自定义认证所示。
请注意,LangGraph平台不提供认证端点——您需要在客户端应用程序中处理用户认证,并将生成的凭据传递给LangGraph 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"]}
]
}
}
}
测试¶
更新配置后
- 部署您的应用程序
- 访问
/docs
查看更新后的OpenAPI文档 - 使用您的认证服务器的凭据尝试端点(请确保您已首先实现认证逻辑)