コンテンツへスキップ
NextAuth.js v4 から移行しますか?こちらをご覧ください。 移行ガイド.

アダプター

アダプター

アダプターは、データソースからデータの読み書きを行う関数プロパティ(メソッド)を持つオブジェクトです。これらのメソッドは、Auth.js が理解できる共通インターフェースへのデータレイヤーの正規化の方法と考えてください。

これがAuth.jsを非常に柔軟にし、あらゆるデータレイヤーで使用できる理由です。

アダプターメソッドは、次の操作を実行するために使用されます。

  • ユーザーの作成/更新/削除
  • ユーザーとのアカウントのリンク/リンク解除
  • アクティブセッションの処理
  • 複数のデバイス間でのパスワードレス認証のサポート

メソッドが実装されていないが、Auth.jsによって呼び出された場合、ユーザーにエラーが表示され、操作は失敗します。

メソッド

createAuthenticator()?

optional createAuthenticator(authenticator): Awaitable<AdapterAuthenticator>

新しい認証子を作成します。

作成に失敗した場合は、アダプターはエラーをスローする必要があります。

パラメーター
パラメーター
authenticatorAdapterAuthenticator
戻り値

Awaitable<AdapterAuthenticator>

createSession()?

optional createSession(session): Awaitable<AdapterSession>

ユーザーのセッションを作成し、それを返します。

こちらも参照してください データベースセッション管理

パラメーター
パラメーター
sessionオブジェクト
session.expires日付
session.sessionToken文字列
session.userId文字列
戻り値

Awaitable<AdapterSession>

createUser()?

optional createUser(user): Awaitable<AdapterUser>

データベースにユーザーを作成し、それを返します。

こちらも参照してください ユーザー管理

パラメーター
パラメーター
userAdapterUser
戻り値

Awaitable<AdapterUser>

createVerificationToken()?

optional createVerificationToken(verificationToken): Awaitable<undefined | null | VerificationToken>

検証トークンを作成し、それを返します。

こちらも参照してください 検証トークン

パラメーター
パラメーター
verificationTokenVerificationToken
戻り値

Awaitable<undefined | null | VerificationToken>

deleteSession()?

optional deleteSession(sessionToken): Promise<void> | Awaitable<undefined | null | AdapterSession>

データベースからセッションを削除します。ログ記録の目的で、このメソッドが削除されるセッションも返すことが推奨されます。

こちらも参照してください データベースセッション管理

パラメータ
パラメーター
sessionToken文字列
戻り値

Promise<void> | Awaitable<undefined | null | AdapterSession>

deleteUser()?

optional deleteUser(userId): Promise<void> | Awaitable<undefined | null | AdapterUser>
パラメータ
パラメーター
userId文字列
戻り値

Promise<void> | Awaitable<undefined | null | AdapterUser>

TODO

このメソッドはまだ呼び出されていません。

こちらも参照してください ユーザー管理

getAccount()?

optional getAccount(providerAccountId, provider): Awaitable<null | AdapterAccount>

プロバイダアカウントIDとプロバイダによってアカウントを取得します。

アカウントが見つからない場合、アダプターはnullを返す必要があります。

パラメータ
パラメーター
providerAccountId文字列
プロバイダー文字列
戻り値

Awaitable<null | AdapterAccount>

getAuthenticator()?

optional getAuthenticator(credentialID): Awaitable<null | AdapterAuthenticator>

credentialIDから認証子を取得します。

認証子が見つからない場合、アダプターはnullを返す必要があります。

パラメータ
パラメーター
credentialID文字列
戻り値

Awaitable<null | AdapterAuthenticator>

getSessionAndUser()?

optional getSessionAndUser(sessionToken): Awaitable<null | {
  session: AdapterSession;
  user: AdapterUser;
}>

データベースからセッションとユーザーを一度に取得します。

💡

データベースが結合をサポートしている場合は、データベースクエリの数を減らすことをお勧めします。

こちらも参照してください データベースセッション管理

パラメータ
パラメーター
sessionToken文字列
戻り値

Awaitable<null | { session: AdapterSession; user: AdapterUser; }>

getUser()?

optional getUser(id): Awaitable<null | AdapterUser>

ユーザーIDを介してデータベースからユーザーを取得します。

こちらも参照してください ユーザー管理

パラメータ
パラメーター
id文字列
戻り値

Awaitable<null | AdapterUser>

getUserByAccount()?

optional getUserByAccount(providerAccountId): Awaitable<null | AdapterUser>

プロバイダIDと特定のアカウントのユーザーIDを使用して、ユーザーを取得します。

こちらも参照してください ユーザー管理

パラメータ
パラメーター
providerAccountIdPick<AdapterAccount, "provider" | "providerAccountId">
戻り値

Awaitable<null | AdapterUser>

getUserByEmail()?

optional getUserByEmail(email): Awaitable<null | AdapterUser>

ユーザーのメールアドレスを介してデータベースからユーザーを取得します。

こちらも参照してください 検証トークン

パラメータ
パラメーター
メール文字列
戻り値

Awaitable<null | AdapterUser>

linkAccount()?

optional linkAccount(account): Promise<void> | Awaitable<undefined | null | AdapterAccount>

このメソッドは内部的に呼び出されます(ただし、手動リンクに使用することもできます)。データベースにAccountを作成します。

こちらも参照してください ユーザー管理

パラメータ
パラメーター
accountAdapterAccount
戻り値

Promise<void> | Awaitable<undefined | null | AdapterAccount>

listAuthenticatorsByUserId()?

optional listAuthenticatorsByUserId(userId): Awaitable<AdapterAuthenticator[]>

ユーザーのすべての認証子を取得します。

ユーザーが見つからない場合でも、アダプターは空の配列を返す必要があります。他の理由で取得に失敗した場合は、アダプターはエラーをスローする必要があります。

パラメータ
パラメーター
userId文字列
戻り値

Awaitable<AdapterAuthenticator[]>

unlinkAccount()?

optional unlinkAccount(providerAccountId): Promise<void> | Awaitable<undefined | AdapterAccount>
パラメータ
パラメーター
providerAccountIdPick<AdapterAccount, "provider" | "providerAccountId">
戻り値

Promise<void> | Awaitable<undefined | AdapterAccount>

TODO

このメソッドはまだ呼び出されていません。

updateAuthenticatorCounter()?

optional updateAuthenticatorCounter(credentialID, newCounter): Awaitable<AdapterAuthenticator>

認証子のカウンターを更新します。

更新に失敗した場合は、アダプターはエラーをスローする必要があります。

パラメータ
パラメーター
credentialID文字列
newCounternumber
戻り値

Awaitable<AdapterAuthenticator>

updateSession()?

optional updateSession(session): Awaitable<undefined | null | AdapterSession>

データベース内のセッションを更新して返します。

こちらも参照してください データベースセッション管理

パラメータ
パラメーター
sessionPartial<AdapterSession> & Pick<AdapterSession, "sessionToken">
戻り値

Awaitable<undefined | null | AdapterSession>

updateUser()?

optional updateUser(user): Awaitable<AdapterUser>

データベース内のユーザーを更新して返します。

こちらも参照してください ユーザー管理

パラメータ
パラメーター
userPartial<AdapterUser> & Pick<AdapterUser, "id">
戻り値

Awaitable<AdapterUser>

useVerificationToken()?

optional useVerificationToken(params): Awaitable<null | VerificationToken>

データベースから検証トークンを返し、削除します。そのため、一度だけ使用できます。

こちらも参照してください 検証トークン

パラメータ
パラメーター
paramsオブジェクト
params.identifier文字列
params.token文字列
戻り値

Awaitable<null | VerificationToken>


AdapterAccount

アカウントは、ユーザーとプロバイダー間の接続です。

アカウントには2つの種類があります。

  • OAuth/OIDCアカウント:ユーザーがOAuthプロバイダーでサインインしたときに作成されます。
  • メールアカウント:ユーザーがメールプロバイダーでサインインしたときに作成されます。

1人のユーザーは複数のアカウントを持つことができます。

継承元

プロパティ

access_token?

optional readonly access_token: string;
継承元

Account.access_token

authorization_details?

optional readonly authorization_details: AuthorizationDetails[];
継承元

Account.authorization_details

expires_at?

optional expires_at: number;

TokenEndpointResponse.expires_inに基づいて計算された値です。

TokenEndpointResponse.access_token が期限切れになる絶対タイムスタンプ(秒単位)です。

この値は、TokenEndpointResponse.refresh_token と共にトークンローテーションを実装するために使用できます。

参照
継承元

Account.expires_at

expires_in?

optional readonly expires_in: number;
継承元

Account.expires_in

id_token?

optional readonly id_token: string;
継承元

Account.id_token

provider

provider: string;

このアカウントのプロバイダーIDです。例:「google」。完全なリストはhttps://authjs.dokyumento.jp/reference/core/providersを参照してください。

継承元

Account.provider

providerAccountId

providerAccountId: string;

この値は、アカウントの作成に使用されているプロバイダーの種類によって異なります。

  • oauth/oidc: profile()コールバックから返されるOAuthアカウントのID。
  • email: ユーザーのメールアドレス。
  • credentials: authorize()コールバックから返されるid
継承元

Account.providerAccountId

refresh_token?

optional readonly refresh_token: string;
継承元

Account.refresh_token

scope?

optional readonly scope: string;
継承元

Account.scope

token_type?

optional readonly token_type: Lowercase<string>;

注:値は大文字と小文字を区別しないため、常に小文字で返されます。

継承元

Account.token_type

type

type: AdapterAccountType;

このアカウントのプロバイダーの種類

オーバーライド

Account.type

userId

userId: string;

このアカウントが属するユーザーのID

参照

https://authjs.dokyumento.jp/reference/core/adapters#adapteruser

オーバーライド

Account.userId


AdapterAuthenticator

認証子は、ユーザーに割り当てられた資格情報認証を表します。

継承元

プロパティ

counter

counter: number;

認証子が使用された回数。

継承元

Authenticator.counter

credentialBackedUp

credentialBackedUp: boolean;

クライアント認証子が資格情報をバックアップしたかどうか。

継承元

Authenticator.credentialBackedUp

credentialDeviceType

credentialDeviceType: string;

認証子のデバイスの種類。

継承元

Authenticator.credentialDeviceType

credentialID

credentialID: string;

Base64エンコードされた資格情報ID。

継承元

Authenticator.credentialID

credentialPublicKey

credentialPublicKey: string;

Base64エンコードされた資格情報の公開鍵。

継承元

Authenticator.credentialPublicKey

providerAccountId

providerAccountId: string;

認証子に接続されているプロバイダーアカウントID。

継承元

Authenticator.providerAccountId

transports?

optional transports: null | string;

連結されたトランスポートフラグ。

継承元

Authenticator.transports

userId

userId: string;

認証子のユーザーID。

オーバーライド

Authenticator.userId


AdapterSession

セッションは、ユーザーの現在のサインイン状態に関する情報を保持します。

プロパティ

expires

expires: Date;

セッションが期限切れになる絶対日付。

SessionOptions.maxAgeで定義されているmaxAgeオプションに基づいて、期限切れ日前にセッションにアクセスすると、セッションは延長されます。 SessionOptions.updateAgeで定義された期間内では、一度しか延長されません。

期限切れ日後にセッションにアクセスすると、非アクティブなセッションをクリーンアップするために、データベースから削除されます。

sessionToken

sessionToken: string;

"database" AuthConfig.strategyオプションを使用する場合、データベース内のセッションを検索するために使用される、ランダムに生成された値です。この値は、クライアント側の安全なHTTPオンリーCookieに保存されます。

userId

userId: string;

アクティブなセッションをデータベース内のユーザーに接続します。


AdapterUser

ユーザーは、アプリケーションにサインインできる人を表します。ユーザーがまだ存在しない場合、アイデンティティプロバイダーによって返された情報(プロファイルデータ)を使用して、初めてサインインしたときに作成されます。対応するアカウントも作成され、ユーザーにリンクされます。

継承元

プロパティ

email

email: string;

ユーザーのメールアドレス。

オーバーライド

User.email

emailVerified

emailVerified: null | Date;

ユーザーがメールプロバイダーを介してメールアドレスを検証したかどうか。ユーザーがまだメールプロバイダーでサインインしていない場合、または最初の成功したサインインの日付の場合はnullです。

id

id: string;

ユーザーの一意の識別子。

オーバーライド

User.id

image?

optional image: null | string;
継承元

User.image

name?

optional name: null | string;
継承元

User.name


VerificationToken

検証トークンは、ユーザーのメールアドレスを介してユーザーをサインインするために使用される一時的なトークンです。ユーザーがメールプロバイダーでサインインするときに作成されます。ユーザーがメール内のリンクをクリックすると、トークンとメールがサーバーに送信され、ハッシュ化されてデータベース内の値と比較されます。トークンとメールが一致し、トークンがまだ期限切れになっていない場合、ユーザーはサインインします。その後、トークンはデータベースから削除されます。

プロパティ

expires

expires: Date;

トークンが期限切れになる絶対日付。

identifier

identifier: string;

ユーザーのメールアドレス。

token

token: string;

AuthConfig.secret値を使用してハッシュ化されたトークン。


AdapterAccountType

type AdapterAccountType: Extract<ProviderType, "oauth" | "oidc" | "email" | "webauthn">;

アカウントの種類。


isDate()

isDate(value): value is string

指定された値をDateに解析できるかどうかを判断します。

パラメーター

パラメーター
valueunknown

戻り値

value が文字列の場合

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