跳轉到主要內容
版本:0.2.0-beta.1

型別別名:BearerAuthConfig (Type Alias: BearerAuthConfig)

type BearerAuthConfig = {
  audience?: string;
  issuer:   | string
     | ValidateIssuerFunction;
  requiredScopes?: string[];
  resource?: string;
  showErrorDetails?: boolean;
  verifyAccessToken: VerifyAccessTokenFunction;
};

屬性 (Properties)

audience?

optional audience: string;

存取權杖 (Access token) 預期的受眾 (Audience)(aud 宣告 (claim))。這通常是該權杖預期要存取的資源伺服器(API)。如果未提供,將略過受眾檢查。

注意: 如果你的授權伺服器不支援資源標示符 (Resource Indicators, RFC 8707),可以省略此欄位,因為受眾可能不適用。

參考

https://datatracker.ietf.org/doc/html/rfc8707


issuer

issuer: 
  | string
  | ValidateIssuerFunction;

代表有效簽發者 (Issuer) 的字串,或用於驗證存取權杖 (Access token) 簽發者的函式。

如果提供字串,將作為預期的簽發者值進行直接比對。

如果提供函式,應依據 ValidateIssuerFunction 的規則驗證簽發者。

參考

更多驗證函式細節請見 ValidateIssuerFunction


requiredScopes?

optional requiredScopes: string[];

存取權杖 (Access token) 必須具備的權限範圍 (Scopes) 陣列。如果權杖未包含所有這些權限範圍,將拋出錯誤。

注意: 處理器會檢查權杖中的 scope 宣告 (claim),其內容可能為以空格分隔的字串或字串陣列,取決於授權伺服器的實作方式。如果 scope 宣告不存在,則會檢查 scopes 宣告(若有)。


resource?

optional resource: string;

受保護資源的識別符。若提供此欄位,處理器將使用針對該資源所設定的授權伺服器來驗證收到的權杖。當與 protectedResources 設定搭配使用時,此欄位為必填。


showErrorDetails?

optional showErrorDetails: boolean;

是否在回應中顯示詳細錯誤資訊。這對於開發階段除錯很有幫助,但在生產環境中應關閉,以避免洩漏敏感資訊。

預設值 (Default)

false

verifyAccessToken

verifyAccessToken: VerifyAccessTokenFunction;

用於驗證存取權杖 (Access token) 的函式型別。

此函式若權杖無效應拋出 MCPAuthTokenVerificationError,若權杖有效則回傳 AuthInfo 物件。

參考

更多細節請見 VerifyAccessTokenFunction