JavaScript SDK: 認証リファレンス
すべての認証およびユーザー管理方法とその署名。
6 分 読み取り·レベル 参照·2026/10/12 に改訂
この英語のテキストはフランス語のオリジナルから自動的に生成されたもので、まだレビューされていません。
このページは自動翻訳されました。英語版が正式です。
#
機能
エクスポートされた機能
| 機能 | 説明 |
|---|---|
function isMfaChallenge(v: unknown): v is MfaChallenge | 判別型ガード LoginResponse = TokenPair | MfaChallenge。 |
#
クラス
認証サービス
| 方法 | 説明 |
|---|---|
dispose(): void | プロアクティブなライフサイクル (ティッカー、可視性、BroadcastChannel、リスナー) を解体します。 |
onAuthStateChange(callback: AuthStateCallback): { unsubscribe: () => void; data: { subscription: { unsubscribe: () => void; }; }; } | セッション状態の変更をリッスンします (SIGNED_IN、 SIGNED_OUT、 TOKEN_REFRESHED、 USER_UPDATED、 MFA_CHALLENGE…)。 |
signUp(req: SignUpRequest): Promise<AuraResponse<LoginResponse>> | メールアドレスとパスワードを使用してアカウントを作成します。 |
signInWithPassword(req: SignInRequest): Promise<AuraResponse<LoginResponse>> | 電子メールとパスワードを使用してユーザーをログインします。 |
signInWithOAuth(provider: string, options?: OAuthSignInOptions): Promise<AuraResponse<{ url: string; }>> | OAuth フローを開始します。常に { url } を返します (window が存在する場合はさらにブラウザーをリダイレクトします)。 |
signInWithMagicLink(req: MagicLinkRequest): Promise<AuraResponse<{ message: string; }>> | 接続リンクを電子メールで送信します (「マジック リンク」)。 |
signInAnonymously(): Promise<AuraResponse<TokenPair>> | 匿名セッション (電子メールを持たないユーザー) を作成し、 SIGNED_INによって記録および報告されます。 |
signOut(): Promise<AuraResponse<null>> | 切断: サーバー側のリフレッシュ トークンが存在する場合はそれを取り消し、ローカル セッションをフラッシュして、 SIGNED_OUTを発行します。 |
refreshSession(): Promise<AuraResponse<TokenPair>> | リフレッシュトークンを使用してセッションをリフレッシュし、 TOKEN_REFRESHEDを発行します。 |
getSession(): Promise<{ data: { session: Session | null; }; error: null; accessToken: string | null; access_token: string | null; user: User | null; }> | ストアから読み取られた現在のセッション (実際には同期であり、ネットワーク呼び出しはありません)。 |
setSession(accessToken: string, refreshToken: string): Promise<AuraResponse<User>> | 既存のアクセス トークンとリフレッシュ トークン (サーバーから受信したものなど) からセッションをインストールします。 |
exchangeCodeForSession(authCode: string, codeVerifier?: string): Promise<AuraResponse<LoginResponse>> | セッションの PKCE 認証コードを交換します。 |
listSessions(): Promise<AuraResponse<SessionInfo[]>> | ログインしているユーザーのセッション (デバイス、IP アドレス、日付) をリストします。 is_current は現在のセッションを見つけます。 |
revokeSession(sessionId: string): Promise<AuraResponse<null>> | ID によって接続されているユーザーのセッションを取り消します。 |
revokeAllSessions(): Promise<AuraResponse<{ message: string; }>> | ユーザーをどこからでもログアウトします。すべてのセッションを取り消し、ローカル セッションをフラッシュし、 SIGNED_OUTを発行します。 |
getUser(jwt?: string): Promise<AuraResponse<User>> | サーバー側で検証されたユーザーを取得します。 |
getClaims(jwt?: string, options?: { allowExpired?: boolean; issuer?: string; audience?: string; }): Promise<AuraResponse<GetClaimsResult>> | JWTのクレームを検証してデコードします。 |
deleteUser(password: string): Promise<AuraResponse<null>> | パスワードによる確認後に、接続されているユーザーのアカウントを削除し、ローカル セッションをクリアします。 |
updateUser(req: UpdateUserRequest): Promise<AuraResponse<User>> | ログインしているユーザー (メタデータ、パスワードなど) を更新し、 USER_UPDATEDを発行します。 |
resetPasswordForEmail(req: PasswordResetRequest): Promise<AuraResponse<{ message: string; }>> | パスワードリセットメールを送信します。 |
updatePassword(newPassword: string, currentPassword?: string): Promise<AuraResponse<User>> | ログインしているユーザーのパスワードを変更します。 |
mfaEnroll(): Promise<AuraResponse<MfaEnrollResponse>> | MFA: TOTP 登録を開始し、QR コードとして表示する secret と URL otpauth_url を返します。 |
mfaVerifySetup(code: string): Promise<AuraResponse<{ recovery_codes: string[]; }>> | MFA: 最初のコードで登録を確認し、リカバリ コードを返します。 |
mfaVerify(req: MfaVerifyRequest): Promise<AuraResponse<TokenPair>> | MFA: チャレンジ (mfa_token および TOTP コード) を返した接続を終了します。 |
mfaUnenroll(password: string): Promise<AuraResponse<{ message: string; }>> | MFA: パスワードによる確認後に MFA を非アクティブ化します。 |
verifyOtp(params: VerifyEmailChangeOtpParams): Promise<AuraResponse<User>>verifyOtp(params: Exclude<VerifyOtpParams, VerifyEmailChangeOtpParams>): Promise<AuraResponse<TokenPair>> | OTP 検証の単一のエントリ ポイント ( @supabase/auth-jsのパリティ verifyOtp )。 |
resendVerificationEmail(email?: string): Promise<AuraResponse<{ message: string; }>> | 検証電子メールを email またはログイン ユーザーのアドレスに再送信します。 |
signInWithEmailOtp(email: string): Promise<AuraResponse<{ message: string; }>> | 1 回限りの使用コードを電子メールで送信します。 verifyOtp({ type: 'email' })によって確認されます。 |
signInWithSmsOtp(phone: string): Promise<AuraResponse<{ message: string; }>> | SMS でワンタイム コードを送信します。 verifyOtp({ type: 'sms' })によって確認されます。 |
listIdentities(): Promise<AuraResponse<IdentityInfo[]>> | ログインしているユーザーにリンクされている ID (プロバイダー) をリストします。 |
linkIdentity(provider: string): Promise<AuraResponse<{ url: string; provider: string; }>> | 接続されたアカウントへのプロバイダー OAuth のバインドを開始し、開くための認証 URL を返します。 |
unlinkIdentity(identityId: string): Promise<AuraResponse<{ message: string; }>> | ID によって接続されているアカウントから ID を切り離します。 |
regenerateRecoveryCodes(code: string): Promise<AuraResponse<{ recovery_codes: string[]; }>> | MFA: TOTP コードで確認した後、リカバリ コードを再生成します。 |
signInWithIdToken(provider: string, idToken: string, accessToken?: string): Promise<AuraResponse<LoginResponse>> | セッションのプロバイダー トークン ID (Google/Apple、ネイティブ モバイル) を交換します。 |
getSettings(): Promise<AuraResponse<{ disable_signup: boolean; external: Record<string, boolean>; mailer_autoconfirm: boolean; mfa_enabled: boolean; }>> | GoTrue パリティ: GET /settings — パブリック プロジェクト構成 (認証は必要ありません)。 |
getAnonKey(): Promise<AuraResponse<{ anon_key: string; }>> | プロジェクトの公開可能なキー (anon キー) — GET /anon-key (Supabase モデルのようなパブリック)。 |
resetPassword(token: string, newPassword: string): Promise<AuraResponse<TokenPair>> | パスワード回復トークンを消費し、新しいパスワードを適用します。 |
promoteAnonymous(credentials: { email: string; password: string; }): Promise<AuraResponse<TokenPair>> | 現在の匿名ユーザー (JWT が必要) を通常の電子メール + パスワード アカウントに変換します。 |
verifyMagicLink(token: string): Promise<AuraResponse<TokenPair>> | マジック リンク トークンを消費し、TokenPair を返します。 |
#
クラス
AuthAdminService
| 方法 | 説明 |
|---|---|
listUsers(params?: { limit?: number; offset?: number; search?: string; }): Promise<AuraResponse<AdminUser[]>> | 検索 (search) およびページネーション (limit、 offset) を使用して、プロジェクト ユーザーをリストします。 |
getUser(userId: string): Promise<AuraResponse<AdminUser>> | ID でユーザーを読み取ります。 |
createUser(data: AdminCreateUserRequest): Promise<AuraResponse<AdminUser>> | 公開登録 (電子メール、パスワード、メタデータ、ロール) を経ずにユーザーを作成します。 |
updateUser(userId: string, data: AdminUpdateUserRequest): Promise<AuraResponse<AdminUser>> | ユーザーを更新します。指定されたフィールドのみが変更されます。 |
deleteUser(userId: string): Promise<AuraResponse<null>> | ユーザーを削除します。 |
banUser(userId: string): Promise<AuraResponse<null>> | ユーザーを禁止します。ユーザーはログインできなくなります。 |
unbanUser(userId: string): Promise<AuraResponse<null>> | ユーザーの禁止を解除します。 |
generateLink(userId: string, type: GenerateLinkType): Promise<AuraResponse<GenerateLinkResult>> | ユーザー ('magic'、 'recovery'、または 'invite') のワンタイム リンクを生成し、 { link, token }を返します。 |
getUserStats(): Promise<AuraResponse<UserStats>> | ユーザー統計: 7 日間の合計、検証済み、禁止、MFA および新規。 |
listUserIdentities(userId: string): Promise<AuraResponse<IdentityInfo[]>> | ユーザーにリンクされた ID をリストします (OAuth プロバイダー、電子メール)。 |
listSessions(params?: { userId?: string; limit?: number; offset?: number; }): Promise<AuraResponse<AdminSessionInfo[]>> | すべてのユーザーのアクティブなセッションをリストします。これは userIdでフィルタリングでき、ページネーション付きです。 |
revokeSession(sessionId: string): Promise<AuraResponse<null>> | 識別子によってセッションを取り消します。 |
getAuditLog(params?: { userId?: string; limit?: number; offset?: number; }): Promise<AuraResponse<AuditLogEntry[]>> | 監査ログ (アクション、IP アドレス、ユーザー エージェント、日付) を読み取ります。ページングを使用して userIdでフィルタリングできます。 |
getSettings(): Promise<AuraResponse<AuthSettings>> | プロジェクトの認証設定を読み取ります。 |
updateSettings(data: AuthSettingsUpdate): Promise<AuraResponse<AuthSettings>> | プロジェクトの認証設定を更新します (部分的なマージ: 指定されたフィールドのみが書き込まれます。バックエンド側では COALESCE)。 |
listEmailTemplates(): Promise<AuraResponse<Record<string, unknown>[]>> | プロジェクト認証電子メール テンプレートをリストします。 |
getEmailTemplate(type: string): Promise<AuraResponse<Record<string, unknown>>> | 指定されたタイプの電子メール テンプレート (確認、回復など) を読み取ります。 |
updateEmailTemplate(type: string, data: EmailTemplateUpdate): Promise<AuraResponse<Record<string, unknown>>> | 指定されたタイプの電子メール テンプレートのコンテンツを置き換えます。 |
deleteEmailTemplate(type: string): Promise<AuraResponse<{ message: string; }>> | 電子メール タイプからカスタム テンプレートを削除します。 |
testEmailTemplate(type: string, body: { to_email: string; }): Promise<AuraResponse<null>> | タイプのテンプレートを含むテスト電子メールをアドレス to_emailに送信します。 |
生成されたページ
このページは SDK の型宣言とコメントから生成されるため、公開されたコードから逸脱することはできません。実用的な例については、ガイドを参照してください。
最終更新日 · 2026/10/12