跳至内容
从 NextAuth.js v4 迁移?阅读 我们的迁移指南.

jwt

⚠️

不推荐 在 NextAuth.js v5 或更高版本中,我们推荐在服务器端使用其他身份验证方法。在以下位置了解更多信息:https://authjs.oauth.ac.cn/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;

如果将此设置为 truegetToken() 将返回原始 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 回调返回的内容

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