为您的部署添加自定义身份验证
为了在部署中利用自定义身份验证并访问用户级别的元数据,请设置自定义身份验证,通过自定义身份验证处理程序自动填充config["configurable"]["langgraph_auth_user"] 对象。然后,您可以在您的图中使用 langgraph_auth_user 键访问此对象,以 允许代理代表用户执行经过身份验证的操作。
-
实现身份验证:
如果没有自定义的
@auth.authenticate处理程序,LangGraph 只能看到 API 密钥的所有者(通常是开发者),因此请求不会限定在单个最终用户。要传播自定义令牌,您必须实现自己的处理程序。
- 此处理程序接收请求(请求头等),验证用户,并返回一个至少包含
identity字段的字典。 - 您可以添加任何您想要的自定义字段(例如,OAuth 令牌、角色、组织 ID 等)。
-
在您的
langgraph.json文件中,添加身份验证文件的路径: -
在服务器中设置好身份验证后,请求必须根据您选择的方案包含所需的授权信息。假设您使用的是 JWT 令牌身份验证,您可以使用以下任一方法访问您的部署:
有关 RemoteGraph 的更多详细信息,请参阅 使用 RemoteGraph 指南。
- Python 客户端
- Python RemoteGraph
- JavaScript 客户端
- JavaScript RemoteGraph
- CURL
启用代理身份验证
在 身份验证 之后,平台会创建一个特殊的配置对象 (config),该对象会传递给 LangSmith 部署。此对象包含有关当前用户的信息,包括您从 @auth.authenticate 处理程序返回的任何自定义字段。
要允许代理代表用户执行经过身份验证的操作,请在您的图中使用 langgraph_auth_user 键访问此对象:
请从安全的密钥存储中获取用户凭据。不建议将密钥存储在图状态中。
为 Studio 用户授权
默认情况下,如果您为资源添加了自定义授权,这也将适用于从 Studio 进行的交互。如果需要,您可以通过检查 is_studio_user() 来区别处理已登录的 Studio 用户。is_studio_user 是在 langgraph-sdk 的 0.1.73 版本中添加的。如果您使用的是旧版本,仍然可以通过检查 isinstance(ctx.user, StudioUser) 来实现。了解更多
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

