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

@auth/qwik

AuthError

すべてのAuth.jsエラーの基本エラークラスです。logger.error オプションを使用して、サーバーログに適切にフォーマットされた方法で出力されるように最適化されています。

継承元

コンストラクタ

new AuthError(message, errorOptions)

new AuthError(message?, errorOptions?): AuthError
パラメーター
パラメーター
message?string | ErrorOptions
errorOptions?ErrorOptions
戻り値

AuthError

オーバーライド

Error.constructor

プロパティ

cause?

optional cause: Record<string, unknown> & {
  err: Error;
};
型定義
err?
optional err: Error;
オーバーライド

Error.cause

message

message: string;
継承元

Error.message

name

name: string;
継承元

Error.name

stack?

optional stack: string;
継承元

Error.stack

type

type: ErrorType;

エラーの種類。ログでエラーを識別するために使用されます。

prepareStackTrace()?

static optional prepareStackTrace: (err, stackTraces) => any;

スタックトレースのフォーマットのためのオプションのオーバーライド

参照

https://v8.dokyumento.jp/docs/stack-trace-api#customizing-stack-traces

パラメーター
パラメーター
errError
stackTracesCallSite[]
戻り値

any

継承元

Error.prepareStackTrace

stackTraceLimit

static stackTraceLimit: number;
継承元

Error.stackTraceLimit

メソッド

captureStackTrace()

static captureStackTrace(targetObject, constructorOpt?): void

ターゲットオブジェクトに.stackプロパティを作成します。

パラメーター
パラメーター
targetObjectobject
constructorOpt?Function
戻り値

void

継承元

Error.captureStackTrace


CredentialsSignin

Credentialsプロバイダーのauthorizeコールバックからスローできます。authorizeコールバック中にエラーが発生すると、2つのことが起こります。

  1. ユーザーは、URLにerror=CredentialsSignin&code=credentialsが付いたサインインページにリダイレクトされます。codeは設定可能です。
  2. サーバーサイドでフォームアクションを処理するフレームワークでこのエラーをスローした場合、ユーザーをリダイレクトする代わりにこのエラーがスローされるため、処理する必要があります。

継承元

コンストラクタ

new CredentialsSignin(message, errorOptions)

new CredentialsSignin(message?, errorOptions?): CredentialsSignin
パラメータ
パラメーター
message?string | ErrorOptions
errorOptions?ErrorOptions
戻り値

CredentialsSignin

継承元

SignInError.constructor

プロパティ

cause?

optional cause: Record<string, unknown> & {
  err: Error;
};
型宣言
err?
optional err: Error;
継承元

SignInError.cause

code

code: string;

リダイレクトURLのcodeクエリパラメータに設定されているエラーコード。

⚠ 注意: このプロパティはURLに含まれるため、機密性の高いエラーを示唆するような内容にしないようにしてください。

完全なエラーは、デバッグが必要な場合、常にサーバーにログ記録されます。

一般的に、ユーザー名またはパスワードが間違っていたかどうかを具体的に示唆することはお勧めしません。「無効な資格情報」のような表現を使用してください。

message

message: string;
継承元

SignInError.message

name

name: string;
継承元

SignInError.name

stack?

optional stack: string;
継承元

SignInError.stack

type

type: ErrorType;

エラーの種類。ログでエラーを識別するために使用されます。

継承元

SignInError.type

kind

static kind: string;
継承元

SignInError.kind

prepareStackTrace()?

static optional prepareStackTrace: (err, stackTraces) => any;

スタックトレースのフォーマットのためのオプションのオーバーライド

参照

https://v8.dokyumento.jp/docs/stack-trace-api#customizing-stack-traces

パラメータ
パラメーター
errError
stackTracesCallSite[]
戻り値

any

継承元

SignInError.prepareStackTrace

stackTraceLimit

static stackTraceLimit: number;
継承元

SignInError.stackTraceLimit

type

static type: string;

メソッド

captureStackTrace()

static captureStackTrace(targetObject, constructorOpt?): void

ターゲットオブジェクトに.stackプロパティを作成します。

パラメータ
パラメーター
targetObjectobject
constructorOpt?Function
戻り値

void

継承元

SignInError.captureStackTrace


Account

通常、使用されているプロバイダに関する情報を含み、OAuthプロバイダによって返される異なるトークンであるTokenSetを拡張します。

拡張元

プロパティ

access_token?

optional readonly access_token: string;
継承元

Partial.access_token

authorization_details?

optional readonly authorization_details: AuthorizationDetails[];
継承元

Partial.authorization_details

expires_at?

optional expires_at: number;

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

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

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

参照

expires_in?

optional readonly expires_in: number;
継承元

Partial.expires_in

id_token?

optional readonly id_token: string;
継承元

Partial.id_token

provider

provider: string;

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

providerAccountId

providerAccountId: string;

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

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

refresh_token?

optional readonly refresh_token: string;
継承元

Partial.refresh_token

scope?

optional readonly scope: string;
継承元

Partial.scope

token_type?

optional readonly token_type: Lowercase<string>;

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

継承元

Partial.token_type

type

type: ProviderType;

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

userId?

optional userId: string;

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

参照

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


DefaultSession

拡張先

プロパティ

expires

expires: string;

user?

optional user: User;

Profile

OAuthプロバイダから返されるユーザー情報。

参照

https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims

Indexable

[claim: string]: unknown

プロパティ

address?

optional address: null | {
  country: null | string;
  formatted: null | string;
  locality: null | string;
  postal_code: null | string;
  region: null | string;
  street_address: null | string;
};

birthdate?

optional birthdate: null | string;

email?

optional email: null | string;

email_verified?

optional email_verified: null | boolean;

family_name?

optional family_name: null | string;

gender?

optional gender: null | string;

given_name?

optional given_name: null | string;

id?

optional id: null | string;

locale?

optional locale: null | string;

middle_name?

optional middle_name: null | string;

name?

optional name: null | string;

nickname?

optional nickname: null | string;

phone_number?

optional phone_number: null | string;

picture?

optional picture: any;

preferred_username?

optional preferred_username: null | string;

profile?

optional profile: null | string;

sub?

optional sub: null | string;

updated_at?

optional updated_at: null | string | number | Date;

website?

optional website: null | string;

zoneinfo?

optional zoneinfo: null | string;

QwikAuthConfig

QwikAuth$ メソッドを構成します。

継承

プロパティ

adapter?

optional adapter: Adapter;

adapter オプションを使用して、データベースアダプターを渡すことができます。

継承元

Omit.adapter

basePath?

optional basePath: string;

Auth.js APIエンドポイントのベースパス。

デフォルト
"/api/auth" in "next-auth"; "/auth" with all other frameworks
継承元

Omit.basePath

callbacks?

optional callbacks: {
  jwt: (params) => Awaitable<null | JWT>;
  redirect: (params) => Awaitable<string>;
  session: (params) => Awaitable<Session | DefaultSession>;
  signIn: (params) => Awaitable<string | boolean>;
};

コールバックは、アクションの実行時に何が起こるかを制御するために使用できる非同期関数です。コールバックは非常に強力であり、特にJSON Webトークンを含むシナリオでは、**データベースを使用せずにアクセス制御を実装し、外部データベースまたはAPIと統合する**ことができます。

jwt()?
optional jwt: (params) => Awaitable<null | JWT>;

このコールバックは、JSON Webトークンが作成されるたびに(つまり、サインイン時)または更新されるたびに(つまり、クライアントでセッションにアクセスするたびに)呼び出されます。ここで返すものはすべてJWTに保存され、セッションコールバックに転送されます。そこで、クライアントに返すものを制御できます。その他はフロントエンドから除外されます。JWTは、デフォルトでAUTH_SECRET環境変数を使用して暗号化されます。

session コールバック

パラメーター
パラメーター説明
paramsオブジェクト-
params.account?null | Accountサインインに使用されたプロバイダーに関する情報が含まれています。
TokenSetも含まれています

注記
trigger"signIn" または "signUp" の場合に利用可能です。
params.isNewUser?ブール値非推奨
trigger === "signUp" を代わりに使用してください。
params.profile?Profileプロバイダーから返されたOAuthプロファイル。
(OIDCの場合、デコードされたIDトークンまたは/userinfoレスポンスになります)

注記
trigger"signIn" の場合に利用可能です。
params.session?anyAuthConfig.session strategy: "jwt" を使用する場合、これはクライアントからuseSession().update メソッドを介して送信されたデータです。


⚠ 注意:使用する前にこのデータを検証する必要があります。
params.tokenJWTtrigger"signIn" または "signUp" の場合、JWT のサブセットになり、
nameemailimage が含まれます。

それ以外の場合は、後続の呼び出しに対する完全なJWTになります。
params.trigger?"update" | "signIn" | "signUp"jwtコールバックが呼び出された理由を確認します。考えられる理由は次のとおりです。
- ユーザーサインイン:コールバックが最初に呼び出されたとき、userprofileaccount が存在します。
- ユーザーサインアップ:ユーザーがデータベースに初めて作成されます(AuthConfig.session.strategy が "database" に設定されている場合)。
- 更新イベント:useSession().update メソッドによってトリガーされます。
後者の場合、triggerundefinedになります。
params.userUser | AdapterUserOAuthConfig.profileまたはCredentialsConfig.authorizeコールバックの結果のいずれかです。

注記
trigger"signIn" または "signUp" の場合に利用可能です。

リソース
- クレデンシャルプロバイダー
- ユーザーデータベースモデル
戻り値

Awaitable<null | JWT>

redirect()?
optional redirect: (params) => Awaitable<string>;

このコールバックは、ユーザーがコールバックURLにリダイレクトされるたびに呼び出されます(つまり、サインイン時またはサインアウト時)。デフォルトでは、オリジンと同じホスト上のURLのみが許可されます。このコールバックを使用して、その動作をカスタマイズできます。

ドキュメント

callbacks: {
  async redirect({ url, baseUrl }) {
    // Allows relative callback URLs
    if (url.startsWith("/")) return `${baseUrl}${url}`
 
    // Allows callback URLs on the same origin
    if (new URL(url).origin === baseUrl) return url
 
    return baseUrl
  }
}
パラメーター
パラメーター説明
paramsオブジェクト-
params.baseUrl文字列サイトのデフォルトのベースURL(フォールバックとして使用できます)
params.url文字列クライアントによってコールバックURLとして提供されたURL
戻り値

Awaitable<string>

session()?
optional session: (params) => Awaitable<Session | DefaultSession>;

このコールバックは、セッションがチェックされるたびに呼び出されます(つまり、/api/session エンドポイントを呼び出す場合、useSession または getSession を使用する場合)。戻り値はクライアントに公開されるため、ここで返すものには注意してください!JWTコールバックを介してトークンに追加したものをクライアントで使用できるようにするには、ここで明示的に返す必要があります。

⚠ デフォルトでは、セキュリティ強化のために、トークンのサブセット(email、name、image)のみが返されます。

token引数はjwtセッション戦略を使用する場合にのみ使用でき、user引数はデータベースセッション戦略を使用する場合にのみ使用できます。

jwt コールバック

callbacks: {
  async session({ session, token, user }) {
    // Send properties to the client, like an access_token from a provider.
    session.accessToken = token.accessToken
 
    return session
  }
}
パラメーター
パラメーター
params{ session: { user: AdapterUser; } & AdapterSession; user: AdapterUser; } & { session: Session; token: JWT; } & { newSession: any; trigger: "update"; }
戻り値

Awaitable<Session | DefaultSession>

signIn()?
optional signIn: (params) => Awaitable<string | boolean>;

ユーザーがサインインできるかどうかを制御します。true を返すと、サインインフローが続行されます。false を返すか、エラーをスローすると、サインインフローが停止し、ユーザーはエラーページにリダイレクトされます。文字列を返すと、ユーザーは指定されたURLにリダイレクトされます。

未処理のエラーは、メッセージが元のエラーに設定されたAccessDenied をスローします。

AccessDenied

callbacks: {
 async signIn({ profile }) {
  // Only allow sign in for users with email addresses ending with "yourdomain.com"
  return profile?.email?.endsWith("@yourdomain.com")
}
パラメーター
パラメーター説明
paramsオブジェクト-
params.account?null | Account-
params.credentials?Record<string, CredentialInput>クレデンシャルプロバイダーが使用されている場合、ユーザーの資格情報が含まれます。
params.email?オブジェクトEmailプロバイダーが使用されている場合、最初の呼び出しでは、検証リクエストフローでトリガーされていることを示すverificationRequest: true プロパティが含まれます。
ユーザーがサインインリンクをクリックした後にコールバックが呼び出されると、
このプロパティは存在しません。verificationRequest プロパティをチェックして、ブロックリストのアドレスまたはドメインにメールを送信しないようにするか、
許可リストのメールアドレスに対してのみ明示的に生成するようにすることができます。

params.email.verificationRequest?ブール値-
params.profile?ProfileOAuthプロバイダーが使用されている場合、プロバイダーによって返された完全な
OAuthプロファイルが含まれます。
params.userUser | AdapterUser-
戻り値

Awaitable<string | boolean>

継承元

Omit.callbacks

cookies?

optional cookies: Partial<CookiesOptions>;

Auth.jsで使用されるCookieの名前とオプションを上書きできます。カスタムプロパティを持つ1つ以上のCookieを指定でき、欠落しているオプションにはAuth.jsで定義されたデフォルト値が使用されます。この機能を使用する場合は、開発ビルドと本番ビルドで異なるCookieポリシーを設定するための条件付き動作を作成する必要があるでしょう。これは、組み込みの動的ポリシーをオプトアウトするためです。

  • これは高度なオプションです。高度なオプションは基本オプションと同じ方法で渡されますが、複雑な影響または副作用が発生する可能性があります。非常に使い慣れている場合を除き、高度なオプションの使用は避けるべきです。
デフォルト
{}
継承元

Omit.cookies

debug?

optional debug: boolean;

認証とデータベース操作のデバッグメッセージを有効にするには、debugをtrueに設定します。

  • ⚠ カスタムのAuthConfig.loggerを追加した場合は、この設定は無視されます。
デフォルト
false
継承元

Omit.debug

events?

optional events: {
  createUser: (message) => Awaitable<void>;
  linkAccount: (message) => Awaitable<void>;
  session: (message) => Awaitable<void>;
  signIn: (message) => Awaitable<void>;
  signOut: (message) => Awaitable<void>;
  updateUser: (message) => Awaitable<void>;
};

イベントは非同期関数であり、レスポンスを返しません。監査ログに役立ちます。以下のイベントのいずれかのハンドラーを指定できます(例:デバッグまたは監査ログの作成)。メッセージオブジェクトの内容は、フロー(OAuthまたはメール認証フロー、JWTまたはデータベースセッションなど)によって異なりますが、通常はユーザーオブジェクトやJSON Webトークンの内容、およびイベントに関連するその他の情報が含まれます。

デフォルト
{}
createUser()?
optional createUser: (message) => Awaitable<void>;
パラメーター
パラメーター
messageオブジェクト
message.userUser
戻り値

Awaitable<void>

linkAccount()?
optional linkAccount: (message) => Awaitable<void>;
パラメーター
パラメーター
messageオブジェクト
message.accountAccount
message.profileUser | AdapterUser
message.userUser | AdapterUser
戻り値

Awaitable<void>

session()?
optional session: (message) => Awaitable<void>;

JWTを使用するかどうか、またはデータベースに永続化されたセッションを使用するかどうかによって、メッセージオブジェクトには以下のいずれかが含まれます。

  • token: このセッションのJWT。
  • session: アダプターからのセッションオブジェクト。
パラメーター
パラメーター
messageオブジェクト
message.sessionSession
message.tokenJWT
戻り値

Awaitable<void>

signIn()?
optional signIn: (message) => Awaitable<void>;

credentialsタイプの認証を使用している場合、ユーザーは資格情報プロバイダーからの生のレスポンスです。他のプロバイダーの場合、アダプター、アカウントからのユーザーオブジェクト、およびユーザーがアダプターに新規であったかどうかを示すインジケーターを取得します。

パラメーター
パラメーター
messageオブジェクト
message.account?null | Account
message.isNewUser?ブール値
message.profile?Profile
message.userUser
戻り値

Awaitable<void>

signOut()?
optional signOut: (message) => Awaitable<void>;

JWTを使用するかどうか、またはデータベースに永続化されたセッションを使用するかどうかによって、メッセージオブジェクトには以下のいずれかが含まれます。

  • token: このセッションのJWT。
  • session: 終了されるアダプターからのセッションオブジェクト。
パラメーター
パラメーター
message{ session: undefined | null | void | AdapterSession; } | { token: null | JWT; }
戻り値

Awaitable<void>

updateUser()?
optional updateUser: (message) => Awaitable<void>;
パラメーター
パラメーター
messageオブジェクト
message.userUser
戻り値

Awaitable<void>

継承元

Omit.events

experimental?

optional experimental: {
  enableWebAuthn: boolean;
};

このオプションを使用して実験的な機能を有効にします。有効にすると、警告メッセージがコンソールに出力されます。

注記

実験的な機能は安定しているとは限らず、予告なく変更または削除される可能性があります。注意して使用してください。

デフォルト
{}
enableWebAuthn?
optional enableWebAuthn: boolean;

WebAuthnサポートを有効にします。

デフォルト
false
継承元

Omit.experimental

jwt?

optional jwt: Partial<JWTOptions>;

AuthConfig.adapterを指定していない場合、JSON Webトークンはデフォルトで有効になります。JSON Webトークンはデフォルトで暗号化(JWE)されます。この動作を維持することをお勧めします。

継承元

Omit.jwt

logger?

optional logger: Partial<LoggerInstance>;

ロガーレベルのいずれかを上書きし(undefinedのレベルは組み込みロガーを使用します)、NextAuthのログをインターセプトします。このオプションを使用して、NextAuthログをサードパーティのログサービスに送信できます。

// /auth.ts
import log from "logging-service"
 
export const { handlers, auth, signIn, signOut } = NextAuth({
  logger: {
    error(code, ...message) {
      log.error(code, message)
    },
    warn(code, ...message) {
      log.warn(code, message)
    },
    debug(code, ...message) {
      log.debug(code, message)
    }
  }
})
  • ⚠ 設定されている場合、AuthConfig.debugオプションは無視されます。
デフォルト
console
継承元

Omit.logger

pages?

optional pages: Partial<PagesOptions>;

カスタムのサインイン、サインアウト、エラーページを作成する場合は、使用するURLを指定します。指定されたページは、対応する組み込みページを上書きします。

デフォルト
{}
  pages: {
    signIn: '/auth/signin',
    signOut: '/auth/signout',
    error: '/auth/error',
    verifyRequest: '/auth/verify-request',
    newUser: '/auth/new-user'
  }
継承元

Omit.pages

providers

providers: Provider[];

サインインするための認証プロバイダーのリスト(例:Google、Facebook、Twitter、GitHub、メールなど)。順番は問いません。組み込みのプロバイダーのいずれか、またはカスタムプロバイダーを含むオブジェクトのいずれかになります。

デフォルト
[]
継承元

Omit.providers

redirectProxyUrl?

optional redirectProxyUrl: string;

設定されている場合、OAuthサインインフロー中に、承認リクエストのredirect_uriがこの値に基づいて設定されます。

これは、OAuthプロバイダーが単一のredirect_uriしかサポートしていない場合、または最終的なデプロイメントURLを事前に知らないプレビューURL(Vercelなど)でOAuthを使用する場合に役立ちます。

URLには、Auth.jsが初期化されるまでの完全なパスを含める必要があります。

注記

これにより、プロバイダーのstate OAuth2Config.checksが自動的に有効になります。

"https://authjs.example.com/api/auth"

各プロバイダーごとに個別に上書きすることもできます。

GitHub({
  ...
  redirectProxyUrl: "https://github.example.com/api/auth"
})
デフォルト

AUTH_REDIRECT_PROXY_URL環境変数

参照:ガイド:プレビューデプロイメントの保護

継承元

Omit.redirectProxyUrl

secret?

optional secret: string | string[];

トークンをハッシュし、Cookieに署名し、暗号キーを生成するために使用されるランダムな文字列。

ランダムな文字列を生成するには、Auth.js CLIを使用できます:npx auth secret

注記

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

継承元

Omit.secret

session?

optional session: {
  generateSessionToken: () => string;
  maxAge: number;
  strategy: "jwt" | "database";
  updateAge: number;
};

JWTまたはデータベースを使用するかどうか、アイドルセッションが期限切れになるまでの時間、データベースを使用している場合の書き込み操作を調整するかどうかなど、セッションを構成します。

generateSessionToken()?
optional generateSessionToken: () => string;

データベースベースのセッションのカスタムセッショントークンを生成します。デフォルトでは、Node.jsのバージョンに応じて、ランダムなUUIDまたは文字列が生成されます。ただし、使用する独自ののカスタム文字列(CUIDなど)を指定できます。

デフォルト

randomUUIDまたはrandomBytes.toHex(Node.jsのバージョンによって異なります)

戻り値

文字列

maxAge?
optional maxAge: number;

セッションの有効期限となる、現在からの相対時間(秒単位)

デフォルト
2592000 // 30 days
strategy?
optional strategy: "jwt" | "database";

ユーザーセッションの保存方法を選択します。デフォルトは"jwt"で、セッションクッキーに暗号化されたJWT(JWE)が使用されます。

ただし、adapterを使用する場合は、代わりに"database"がデフォルトになります。"jwt"を明示的に定義することで、JWTセッションを強制的に使用することもできます。

"database"を使用する場合、セッションクッキーにはsessionToken値のみが含まれ、データベース内のセッションの検索に使用されます。

ドキュメント | アダプター | JSON Webトークンについて

updateAge?
optional updateAge: number;

セッションを更新する頻度(秒単位)。0に設定すると、セッションは毎回更新されます。

デフォルト
86400 // 1 day
継承元

Omit.session

skipCSRFCheck?

optional skipCSRFCheck: typeof skipCSRFCheck;
継承元

Omit.skipCSRFCheck

theme?

optional theme: Theme;

組み込みのAuthConfig.pagesのテーマを変更します。

継承元

Omit.theme

trustHost?

optional trustHost: boolean;

Auth.jsは、正しく機能するために受信リクエストのhostヘッダーに依存します。このため、このプロパティをtrueに設定する必要があります。

デプロイメントプラットフォームがhostヘッダーを安全に設定していることを確認してください。

公式のAuth.jsベースのライブラリでは、hostヘッダーを安全に設定することが知られている一部のデプロイメントプラットフォーム(例:Vercel)に対して、この値を自動的に設定しようとします。

継承元

Omit.trustHost

useSecureCookies?

optional useSecureCookies: boolean;

trueに設定すると、NextAuth.jsによって設定されたすべてのクッキーはHTTPS URLからのみアクセス可能になります。開発者の便宜上、このオプションのデフォルトはhttp://で始まるURL(例:http://localhost:3000)ではfalseです。このオプションを手動でfalseに設定してこのセキュリティ機能を無効にし、クッキーが安全でないURLからアクセスできるようにすることもできます(推奨されません)。

  • これは高度なオプションです。高度なオプションは基本オプションと同じ方法で渡されますが、複雑な影響または副作用が発生する可能性があります。非常に使い慣れている場合を除き、高度なオプションの使用は避けるべきです。

デフォルトは、HTTPの場合はfalse、HTTPSサイトの場合はtrueです。

継承元

Omit.useSecureCookies


セッション

ログインしているユーザーのアクティブなセッション。

拡張

プロパティ

expires

expires: string;
継承元

DefaultSession.expires

user?

optional user: User;
継承元

DefaultSession.user


ユーザー

OAuthプロバイダーのprofileコールバックで返されるオブジェクトの形状。これはjwtおよびsessionコールバック、またはデータベースを使用する場合のsessionコールバックの2番目のパラメーターで使用できます。

プロパティ

email?

optional email: null | string;

id?

optional id: string;

image?

optional image: null | string;

name?

optional name: null | string;

GetSessionResult

type GetSessionResult: Promise<{
  cookie: any;
  data: Session | null;
}>;

型宣言

cookie: any;

data

data: Session | null;

customFetch

const customFetch: unique symbol;
🚫

このオプションを使用すると、プロバイダーがプロバイダーのOAuthエンドポイントに直接リクエストを行うために使用するデフォルトのfetch関数をオーバーライドできます。誤って使用すると、セキュリティ上の問題が発生する可能性があります。

これは、企業プロキシ、カスタムフェッチライブラリ、キャッシュ検出エンドポイントをサポートしたり、テスト用のモックを追加したり、非標準準拠のプロバイダーのカスタムヘッダー/パラメーターを設定したりするために使用できます。

import { Auth, customFetch } from "@auth/core"
import GitHub from "@auth/core/providers/github"
 
const dispatcher = new ProxyAgent("my.proxy.server")
function proxy(...args: Parameters<typeof fetch>): ReturnType<typeof fetch> {
  return undici(args[0], { ...(args[1] ?? {}), dispatcher })
}
 
const response = await Auth(request, {
  providers: [GitHub({ [customFetch]: proxy })]
})

参照


QwikAuth$()

QwikAuth$(qrl, ...rest): {
  onRequest: (req) => Promise<void>;
  useSession: Loader_2<null | Session>;
  useSignIn: Action<{
     failed: undefined;
     fieldErrors: undefined;
     formErrors: undefined;
     } | {
     failed: true;
     fieldErrors: {
        authorizationParams: undefined | string[];
        options: undefined | string[];
        providerId: undefined | string[];
        redirectTo: undefined | string[];
     };
     formErrors: string[];
     }, {
     authorizationParams: string | URLSearchParams | Record<string, string>;
     options: objectOutputType<{
        redirectTo: ZodOptional<ZodString>;
     }, ZodTypeAny, "passthrough">;
     providerId: string;
     redirectTo: string;
  }, false>;
  useSignOut: Action<{
     failed: undefined;
     fieldErrors: undefined;
     formErrors: undefined;
     } | {
     failed: true;
     fieldErrors: {
        redirectTo: undefined | string[];
     };
     formErrors: string[];
     }, {
     redirectTo: string;
  }, false>;
}

Qwik Authを初期化します。

パラメーター

パラメーター
qrl(ev) => QwikAuthConfig
rest[]

戻り値

{
  onRequest: (req) => Promise<void>;
  useSession: Loader_2<null | Session>;
  useSignIn: Action<{
     failed: undefined;
     fieldErrors: undefined;
     formErrors: undefined;
     } | {
     failed: true;
     fieldErrors: {
        authorizationParams: undefined | string[];
        options: undefined | string[];
        providerId: undefined | string[];
        redirectTo: undefined | string[];
     };
     formErrors: string[];
     }, {
     authorizationParams: string | URLSearchParams | Record<string, string>;
     options: objectOutputType<{
        redirectTo: ZodOptional<ZodString>;
     }, ZodTypeAny, "passthrough">;
     providerId: string;
     redirectTo: string;
  }, false>;
  useSignOut: Action<{
     failed: undefined;
     fieldErrors: undefined;
     formErrors: undefined;
     } | {
     failed: true;
     fieldErrors: {
        redirectTo: undefined | string[];
     };
     formErrors: string[];
     }, {
     redirectTo: string;
  }, false>;
}

onRequest()

onRequest: (req) => Promise<void>;
パラメーター
パラメーター
reqRequestEventCommon<QwikCityPlatform>
戻り値

Promise<void>

useSession

useSession: Loader_2<null | Session>;

useSignIn

useSignIn: Action<{
  failed: undefined;
  fieldErrors: undefined;
  formErrors: undefined;
  } | {
  failed: true;
  fieldErrors: {
     authorizationParams: undefined | string[];
     options: undefined | string[];
     providerId: undefined | string[];
     redirectTo: undefined | string[];
  };
  formErrors: string[];
  }, {
  authorizationParams: string | URLSearchParams | Record<string, string>;
  options: objectOutputType<{
     redirectTo: ZodOptional<ZodString>;
  }, ZodTypeAny, "passthrough">;
  providerId: string;
  redirectTo: string;
}, false>;

useSignOut

useSignOut: Action<{
  failed: undefined;
  fieldErrors: undefined;
  formErrors: undefined;
  } | {
  failed: true;
  fieldErrors: {
     redirectTo: undefined | string[];
  };
  formErrors: string[];
  }, {
  redirectTo: string;
}, false>;

plugin@auth.ts
import { QwikAuth } from "@auth/qwik"
import GitHub from "@auth/qwik/providers/github"
 
export const {
  onRequest, useSession, useSignIn, useSignOut
} = QwikAuth$(() => ({ providers: [GitHub] }))

setEnvDefaults()

setEnvDefaults(env, config): void

パラメーター

パラメーター
環境変数EnvGetter
configAuthConfig

戻り値

void

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