跳到內容
從 NextAuth.js v4 遷移?請閱讀 我們的遷移指南.

jwt

⚠️

不建議 在 NextAuth.js v5 或更新的版本中,我們建議使用其他伺服器端驗證方法。請在以下網址閱讀更多資訊:https://authjs.dev.org.tw/getting-started/migrating-to-v5#authenticating-server-side

DefaultJWT

繼承

屬性

email?

optional email: null | string;

exp?

optional exp: number;

iat?

optional iat: number;

jti?

optional jti: string;

name?

optional name: null | string;

picture?

optional picture: null | string;

sub?

optional sub: string;

GetTokenParams<R>

繼承

  • GetTokenParamsBase

類型參數

類型參數
R extends booleanfalse

屬性

cookieName?

optional cookieName: string;

如果 JWT 位於 Cookie 中,則 getToken() 應查找的名稱。

decode()?

optional decode: (params) => Awaitable<null | JWT>;
參數
參數類型
paramsJWTDecodeParams
回傳

Awaitable<null | JWT>

logger?

optional logger: LoggerInstance | Console;

raw?

optional raw: R;

如果設定為 true,則 getToken() 將傳回原始 JWT

預設
false

req

req: Request | {
  headers: Headers | Record<string, string>;
};

請求,其中包含 Cookie 或 Authorization 標頭中的 JWT。

salt?

optional salt: string;
繼承自

GetTokenParamsBase.salt

secret?

optional secret: string | string[];
繼承自

GetTokenParamsBase.secret

secureCookie?

optional secureCookie: boolean;

為 Cookie 名稱使用安全前綴,除非 NEXTAUTH_URL 中的 URL 為 http:// 或未設定(例如開發或測試執行個體),否則使用未加前綴的名稱


JWT

使用 JWT 會話時,由 jwt 回呼傳回

jwt 回呼

繼承

屬性

email?

optional email: null | string;
繼承自

DefaultJWT.email

exp?

optional exp: number;
繼承自

DefaultJWT.exp

iat?

optional iat: number;
繼承自

DefaultJWT.iat

jti?

optional jti: string;
繼承自

DefaultJWT.jti

name?

optional name: null | string;
繼承自

DefaultJWT.name

picture?

optional picture: null | string;
繼承自

DefaultJWT.picture

sub?

optional sub: string;
繼承自

DefaultJWT.sub


JWTDecodeParams

屬性

salt

salt: string;

secret 結合使用,以產生 JWT 的加密密鑰。

secret

secret: string | string[];

salt 結合使用,以產生 JWT 的加密密鑰。

注意

您也可以傳遞一組密鑰,在這種情況下,將使用第一個成功解密 JWT 的密鑰。這對於輪換密鑰而不會使現有會話失效很有用。較新的密鑰應添加到陣列的開頭,這將用於所有新的會話。

token?

optional token: string;

要解碼的 Auth.js 發出的 JWT


JWTEncodeParams<Payload>

類型參數

類型參數
PayloadJWT

屬性

maxAge?

optional maxAge: number;

Auth.js 發出的 JWT 的最大有效期限(以秒為單位)。

預設值
30 * 24 * 60 * 60 // 30 days

salt

salt: string;

secret 結合使用,以產生 JWT 的加密密鑰。

secret

secret: string | string[];

salt 結合使用,以產生 JWT 的加密密鑰。

token?

optional token: Payload;

JWT 有效負載。


JWTOptions

屬性

decode()

decode: (params) => Awaitable<null | JWT>;

覆寫此方法以控制 Auth.js 發出的 JWT 解碼。

參數
參數類型
paramsJWTDecodeParams
回傳

Awaitable<null | JWT>

encode()

encode: (params) => Awaitable<string>;

覆寫此方法以控制 Auth.js 發出的 JWT 編碼。

參數
參數類型
paramsJWTEncodeParams<JWT>
回傳

Awaitable<string>

maxAge

maxAge: number;

Auth.js 發出的 JWT 的最大有效期限(以秒為單位)。

預設值
30 * 24 * 60 * 60 // 30 days

decode()

decode<Payload>(params): Promise<Payload | null>

解碼 Auth.js 發出的 JWT。

類型參數

類型參數
PayloadJWT

參數

參數類型
paramsJWTDecodeParams

回傳

Promise<Payload | null>


encode()

encode<Payload>(params): Promise<string>

發出 JWT。預設情況下,JWT 使用「A256CBC-HS512」加密。

類型參數

類型參數
PayloadJWT

參數

參數類型
paramsJWTEncodeParams<Payload>

回傳

Promise<string>


getToken()

getToken<R>(params): Promise<R extends true ? string : JWT | null>

接收 Auth.js 請求(req),並傳回 Auth.js 發出的 JWT 的有效負載或原始 JWT 字串。我們在 cookie 或 Authorization 標頭中尋找 JWT。

類型參數

類型參數
R extends booleanfalse

參數

參數類型
paramsGetTokenParams<R>

回傳

Promise<R extends true ? string : JWT | null>

Auth.js © Balázs Orbán 和團隊 -2024