型別別名:BearerAuthConfig
type BearerAuthConfig = {
audience?: string;
issuer: string;
requiredScopes?: 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;
存取權杖 (Access token) 預期的簽發者 (Issuer)(iss
宣告 (claim))。這應該是簽發該權杖的授權伺服器 (Authorization server) 的 URL。
requiredScopes?
optional requiredScopes: string[];
存取權杖 (Access token) 必須具備的權限範圍 (Scopes) 陣列。如果權杖未包含所有這些權限範圍,將會拋出錯誤。
注意: 處理器會檢查權杖中的 scope
宣告 (claim),其內容可能是以空格分隔的字串,或是字串陣列,這取決於授權伺服器的實作方式。如果 scope
宣告不存在,則會檢查 scopes
宣告(若有的話)。
showErrorDetails?
optional showErrorDetails: boolean;
是否在回應中顯示詳細錯誤資訊。這對於開發期間除錯很有幫助,但在生產環境中應關閉,以避免洩漏敏感資訊。
預設值
false
verifyAccessToken
verifyAccessToken: VerifyAccessTokenFunction;
用於驗證存取權杖 (Access token) 的函式型別。
此函式若權杖無效,應拋出 MCPAuthTokenVerificationError;若權杖有效,則回傳 AuthInfo 物件。
參考
VerifyAccessTokenFunction 以取得更多細節。