型別別名: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)。如果未提供,將略過受眾檢查。
注意: 如果你的授權伺服器 (Authorization server) 不支援資源標示符 (Resource Indicators, RFC 8707),可以省略此欄位,因為受眾可能不適用。
參考
https://datatracker.ietf.org/doc/html/rfc8707
issuer
issuer:
| string
| ValidateIssuerFunction;
代表有效簽發者 (Issuer) 的字串,或用於驗證存取權杖簽發者的函式。
如果提供字串,將直接作為預期的簽發者值進行比對。
如果提供函式,則應依據 ValidateIssuerFunction 的規則驗證簽發者。
參考
ValidateIssuerFunction 以取得更多驗證函式細節。
requiredScopes?
optional requiredScopes: string[];
存取權杖必須具備的權限範圍 (Scopes) 陣列。如果權杖未包含所有這些權限範圍,將拋出錯誤。
注意: 處理器會檢查權杖中的 scope 宣告 (claim),其值可能是以空格分隔的字串或字串陣列,取決於授權伺服器的實作。如果 scope 宣告不存在,則會檢查 scopes 宣告(若有)。
resource?
optional resource: string;
受保護資源的識別符。若提供此欄位,處理器將使用為該資源設定的授權伺服器來驗證收到的權杖。當搭配 protectedResources 設定使用時,此欄位為必填。
showErrorDetails?
optional showErrorDetails: boolean;
是否在回應中顯示詳細錯誤資訊。這對於開發期間除錯很有幫助,但在生產環境中應關閉,以避免洩漏敏感資訊。
預設值
false
verifyAccessToken
verifyAccessToken: VerifyAccessTokenFunction;
用於驗證存取權杖的函式型別。
此函式若權杖無效應拋出 MCPAuthTokenVerificationError,若權杖有效則回傳 AuthInfo 物件。
參考
VerifyAccessTokenFunction 以取得更多細節。