jwt
不推荐 在 NextAuth.js v5 或更高版本中,我们推荐在服务器端使用其他身份验证方法。在以下位置了解更多信息:https://authjs.oauth.ac.cn/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
默认
falsereq
req: Request | {
headers: Headers | Record<string, string>;
};包含 JWT 的请求,JWT 位于 Cookie 或 Authorization 标头中。
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 dayssalt
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 daysdecode()
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> |