- 文档首页
ArkClaw 企业版
ArkClaw 企业版
管理员管理ArkClaw
应用中心
获取 JWT 并进行解码验签代码示例
获取 JWT 并进行解码验签代码示例
开启 JWT 身份令牌 后,平台会在请求 MCP 服务或 Agent 服务时,通过 x-arkclaw-jwt Header 附带一份身份令牌。服务端可读取该令牌,并完成验签。验签通过后,您可以获取实际调用用户的身份信息,并将其用于权限控制、数据隔离或审计记录等场景。
如果您的服务需要区分不同调用用户,建议开启 JWT 身份令牌。本文介绍如何在服务端读取 x-arkclaw-jwt Header 中的 JWT,并完成解码和验签。
代码示例中的 JWKS_URL 需要您自行获取一次,并保存到服务端变量或配置中,后续验签直接复用即可,无需每次重新获取。获取方式如下:
- 开启 JWT 身份令牌后,在 Claw 或 Agent 中触发一次对该 MCP 或 Agent 的调用,您的服务会收到平台发来的请求。从请求 Header 中取出 x-arkclaw-jwt 的值,用 jwt.io 打开,找到其中的 iss 字段(即 issuer,签发方地址)。
- 复制 iss 的值,在末尾加上 /.well-known/openid-configuration,用浏览器打开这个地址。
- 页面会返回一段 JSON,找到其中的jwks_uri字段,复制它的值。
以下示例展示如何在 Python 服务端读取 x-arkclaw-jwt Header 中的 JWT,并通过 JWKS 地址完成验签。
from jwt import PyJWKClient
jwk_client = PyJWKClient(JWKS_URL)
if token.startswith("Bearer "):
token = token[len("Bearer "):]
signing_key = jwk_client.get_signing_key_from_jwt(token)
token = request.headers.get("x-arkclaw-jwt")
claims = parse_jwt(token)
最近更新时间:2026.08.18 18:04:08