jwt
不建議 在 NextAuth.js v5 或更新的版本中,我們建議使用其他伺服器端驗證方法。請在以下網址閱讀更多資訊:https://authjs.dev.org.tw/getting-started/migrating-to-v5#authenticating-server-side
DefaultJWT
繼承
Record
<string
,unknown
>
屬性
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 boolean | false |
屬性
cookieName?
optional cookieName: string;
如果 JWT 位於 Cookie 中,則 getToken()
應查找的名稱。
decode()?
optional decode: (params) => Awaitable<null | JWT>;
參數
參數 | 類型 |
---|---|
params | JWTDecodeParams |
回傳
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
回呼傳回
繼承
Record
<string
,unknown
>.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;
繼承自
JWTDecodeParams
屬性
salt
salt: string;
與 secret
結合使用,以產生 JWT 的加密密鑰。
secret
secret: string | string[];
與 salt
結合使用,以產生 JWT 的加密密鑰。
注意
您也可以傳遞一組密鑰,在這種情況下,將使用第一個成功解密 JWT 的密鑰。這對於輪換密鑰而不會使現有會話失效很有用。較新的密鑰應添加到陣列的開頭,這將用於所有新的會話。
token?
optional token: string;
要解碼的 Auth.js 發出的 JWT
JWTEncodeParams<Payload>
類型參數
類型參數 | 值 |
---|---|
Payload | JWT |
屬性
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 解碼。
參數
參數 | 類型 |
---|---|
params | JWTDecodeParams |
回傳
encode()
encode: (params) => Awaitable<string>;
覆寫此方法以控制 Auth.js 發出的 JWT 編碼。
參數
參數 | 類型 |
---|---|
params | JWTEncodeParams <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。
類型參數
類型參數 | 值 |
---|---|
Payload | JWT |
參數
參數 | 類型 |
---|---|
params | JWTDecodeParams |
回傳
Promise
<Payload
| null
>
encode()
encode<Payload>(params): Promise<string>
發出 JWT。預設情況下,JWT 使用「A256CBC-HS512」加密。
類型參數
類型參數 | 值 |
---|---|
Payload | JWT |
參數
參數 | 類型 |
---|---|
params | JWTEncodeParams <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 boolean | false |
參數
參數 | 類型 |
---|---|
params | GetTokenParams <R > |