コンテンツにスキップ
NextAuth.js v4 からの移行ですか? 移行ガイドをご覧ください.

jwt

このモジュールには、Auth.jsが発行および使用するJWTをエンコードおよびデコードするための関数と型が含まれています。

Auth.jsが発行するJWTは、デフォルトで暗号化されており、A256CBC-HS512アルゴリズム(JWE)を使用しています。適切な暗号化キーを導出するために、AUTH_SECRET環境変数または渡されたsecretプロパティを使用します。

注意 Auth.js JWTは、発行した同じアプリで使用することを目的としています。サードパーティAPIでJWT認証が必要な場合は、代わりにIDプロバイダーを利用する必要があります。

インストール

npm install @auth/core

次に、このサブモジュールを@auth/core/jwtからインポートできます。

使用法

⚠️

警告 このモジュールはリファクタリング/変更されます。今のところ依存することはお勧めしません。

リソース

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;

getToken()は、これがtrueに設定されている場合、生のJWTを返します

デフォルト
false

req

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

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;

JWTの暗号化シークレットを導出するために、secret と組み合わせて使用します。

secret

secret: string | string[];

JWTの暗号化シークレットを導出するために、salt と組み合わせて使用します。

注意

シークレットの配列を渡すこともできます。この場合、JWTを正常に復号化できる最初のシークレットが使用されます。これは、既存のセッションを無効にすることなくシークレットをローテーションする場合に便利です。新しいシークレットは配列の先頭に追加する必要があり、すべての新しいセッションで使用されます。

token?

optional token: string;

デコードするAuth.js発行のJWT


JWTEncodeParams<Payload>

型パラメータ

型パラメータ
ペイロードJWT

プロパティ

maxAge?

optional maxAge: number;

Auth.jsが発行するJWTの最大有効期間(秒単位)。

デフォルト
30 * 24 * 60 * 60 // 30 days

salt

salt: string;

JWTの暗号化シークレットを導出するために、secret と組み合わせて使用します。

secret

secret: string | string[];

JWTの暗号化シークレットを導出するために、salt と組み合わせて使用します。

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をデコードします。

型パラメータ

型パラメータ
ペイロードJWT

パラメータ

パラメータ
paramsJWTDecodeParams

戻り値

Promise<Payload | null>


encode()

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

JWTを発行します。デフォルトでは、JWTは "A256CBC-HS512" を使用して暗号化されます。

型パラメータ

型パラメータ
ペイロードJWT

パラメータ

パラメータ
paramsJWTEncodeParams<Payload>

戻り値

Promise<string>


getToken()

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

Auth.jsリクエスト(req)を受け取り、Auth.jsが発行したJWTのペイロード、または生のJWT文字列のいずれかを返します。JWTは、cookieまたは Authorization ヘッダーのいずれかで検索します。

型パラメータ

型パラメータ
R extends booleanfalse

パラメータ

パラメータ
paramsGetTokenParams<R>

戻り値

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

Auth.js © Balázs Orbán and Team -2024