跳轉到主要內容

型別別名: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 以取得更多細節。