아우라베이스 로고
아우라베이스문서
문서›JavaScript SDK reference›Auth reference

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>>식별자로 연결된 사용자의 세션을 취소합니다.
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 등록을 시작하고 secret 및 URL otpauth_url을 반환하여 QR 코드로 표시합니다.
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 검증의 단일 진입점(패리티 verifyOtp of @supabase/auth-js).
resendVerificationEmail(email?: string): Promise<AuraResponse<{ message: string; }>>email 또는 로그인한 사용자의 주소로 확인 이메일을 다시 보냅니다.
signInWithEmailOtp(email: string): Promise<AuraResponse<{ message: string; }>>이메일로 일회용 코드를 보냅니다. 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를 분리합니다.
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; }>>프로젝트의 게시 가능 키(익명 키) — 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를 반환합니다.
#
수업

인증관리서비스

방법설명
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>>사용자 통계: MFA을 포함한 전체, 확인, 금지, 7일 동안의 신규.
listUserIdentities(userId: string): Promise<AuraResponse<IdentityInfo[]>>사용자(OAuth 공급자, 이메일)에 연결된 ID를 나열합니다.
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[]>>페이징을 통해 userId로 필터링할 수 있는 감사 로그(작업, IP 주소, 사용자 에이전트, 날짜)를 읽습니다.
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.