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

adapter

アダプター

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

これにより、Auth.jsは非常に柔軟になり、任意のデータ層で使用できるようになります。

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

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

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

メソッド

createAuthenticator()?

optional createAuthenticator(authenticator): Awaitable<AdapterAuthenticator>

新しいオーセンティケーターを作成します。

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

パラメーター
パラメーター
オーセンティケーターAdapterAuthenticator
戻り値

Awaitable<AdapterAuthenticator>

createSession()?

optional createSession(session): Awaitable<AdapterSession>

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

以下も参照してください:データベースセッション管理

パラメーター
パラメーター
sessionオブジェクト
session.expiresDate
session.sessionTokenstring
session.userIdstring
戻り値

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>

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

以下も参照してください:データベースセッション管理

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

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

deleteUser()?

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

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

Todo

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

以下も参照してください:ユーザー管理

getAccount()?

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

プロバイダーのアカウントIDとプロバイダーでアカウントを取得します。

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

パラメータ
パラメーター
providerAccountIdstring
providerstring
戻り値

Awaitable<null | AdapterAccount>

getAuthenticator()?

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

credentialIDから認証器を返します。

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

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

Awaitable<null | AdapterAuthenticator>

getSessionAndUser()?

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

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

💡

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

以下も参照してください:データベースセッション管理

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

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

getUser()?

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

ユーザーIDを使用して、データベースからユーザーを返します。

以下も参照してください:ユーザー管理

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

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>

ユーザーのメールアドレスを使用して、データベースからユーザーを返します。

以下も参照してください:検証トークン

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

Awaitable<null | AdapterUser>

linkAccount()?

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

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

以下も参照してください:ユーザー管理

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

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

listAuthenticatorsByUserId()?

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

ユーザーのすべての認証器を返します。

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

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

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>

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

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

パラメータ
パラメーター
credentialIDstring
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.identifierstring
params.tokenstring
戻り値

Awaitable<null | VerificationToken>


AdapterAccount

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

アカウントには2つのタイプがあります。

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

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-Only Cookieに保存されます。

userId

userId: string;

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


AdapterUser

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

拡張

プロパティ

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 is string

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