类型别名:BearerAuthConfig
type BearerAuthConfig = {
audience?: string;
issuer: | string
| ValidateIssuerFunction;
requiredScopes?: string[];
resource?: string;
showErrorDetails?: boolean;
verifyAccessToken: VerifyAccessTokenFunction;
};
属性
audience?
optional audience: string;
访问令牌 (Access token) 的预期受众 (Audience)(aud 声明 (Claim))。这通常是令牌所针对的资源服务器(API)。如果未提供,将跳过受众 (Audience) 检查。
注意: 如果你的授权服务器不支持资源指示器 (Resource Indicators)(RFC 8707),你可以省略此字段,因为受众 (Audience) 可能不相关。
参见
https://datatracker.ietf.org/doc/html/rfc8707
issuer
issuer:
| string
| ValidateIssuerFunction;
表示有效发行者 (Issuer) 的字符串,或用于验证访问令牌 (Access token) 发行者 (Issuer) 的函数。
如果提供字符串,则将其用作预期的发行者 (Issuer) 值进行直接比较。
如果提供函数,则应根据 ValidateIssuerFunction 中的规则验证发行者 (Issuer)。
参见
ValidateIssuerFunction 以获取有关验证函数的更多详细信息。
requiredScopes?
optional requiredScopes: string[];
访问令牌 (Access token) 必须具备的权限 (Scopes) 数组。如果令牌未包含所有这些权限 (Scopes),将抛出错误。
注意: 处理程序会检查令牌中的 scope 声明 (Claim),该声明 (Claim) 可能是以空格分隔的字符串或字符串数组,具体取决于授权服务器的实现。如果未包含 scope 声明 (Claim),处理程序会检查 scopes 声明 (Claim)(如果可用)。
resource?
optional resource: string;
受保护资源的标识符。当提供该字段时,处理程序将使用为此资源配置的授权服务器来验证收到的令牌。在使用带有 protectedResources 配置的处理程序时是必需的。
showErrorDetails?
optional showErrorDetails: boolean;
是否在响应中显示详细的错误信息。这对于开发期间调试很有用,但在生产环境中应禁用,以避免泄露敏感信息。
默认值
false
verifyAccessToken
verifyAccessToken: VerifyAccessTokenFunction;
用于验证访问令牌 (Access token) 的函数类型。
如果令牌无效,此函数应抛出 MCPAuthTokenVerificationError;如果令牌有效,则返回 AuthInfo 对象。
参见
VerifyAccessTokenFunction 以获取更多详细信息。