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
默认
false
req
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 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 > |