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

adapters

アダプター

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

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

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

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

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

メソッド

createAuthenticator()?

optional createAuthenticator(authenticator): Awaitable<AdapterAuthenticator>

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

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

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

Awaitable<AdapterAuthenticator>

createSession()?

optional createSession(session): Awaitable<AdapterSession>

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

参照 データベースセッション管理

パラメーター
パラメータータイプ
sessionObject
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>

データベースから検証トークンを返し、一度だけ使用できるように削除します。

参照 認証トークン

パラメータ
パラメータータイプ
paramsObject
params.identifierstring
params.tokenstring
戻り値

Awaitable<null | VerificationToken>


AdapterAccount

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

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

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

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: OAuthアカウントのIDで、profile()コールバックから返されます。
  • メール:ユーザーのメールアドレス。
  • 資格情報: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;

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

userId

userId: string;

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


AdapterUser

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

Extends

Properties

email

email: string;

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

Overrides

User.email

emailVerified

emailVerified: null | Date;

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

id

id: string;

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

Overrides

User.id

image?

optional image: null | string;
Inherited from

User.image

name?

optional name: null | string;
Inherited from

User.name


VerificationToken

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

Properties

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にパースできるかどうかを判断します。

Parameters

パラメータータイプ
valueunknown

Returns

value is string

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