짧은 답변
Whizi 접속 문제는 네 가지로 나뉩니다: 로그인 시도 자체가 실패한 경우, 브라우저가 새로운 세션 토큰을 받지 못한 경우, 다른 세션이 이미 열려 있는 경우, 또는 계정 공유 가드가 요청을 거부한 경우입니다. 메시지를 보면 어느 경우인지 알 수 있고, 아래 각 메시지는 이를 생성하는 코드에서 그대로 인용한 것입니다.
아래 다섯 가지는 로그인, 세션, 단일 세션, 공유 거부를 다룹니다:
| 메시지 | 발생 원인 | 해결 방법 |
|---|---|---|
Login failed. Please check your credentials. | 로그인 시도가 완료 상태가 아닌 다른 상태를 반환함 | 이메일과 비밀번호를 다시 입력하거나 비밀번호를 재설정하세요 |
Invalid or expired session token. | HTTP 401. 토큰 검증이 어떤 이유로든 실패함: 만료된 토큰, 잘못된 서명, 잘못된 발급자 | 로그아웃 후 다시 로그인하세요 |
Authentication required. | HTTP 401. 요청의 Authorization 헤더에 Bearer 토큰이 없었음 | 다시 로그인하세요 |
Please sign out from other sessions and try again. | 로그인 오류 텍스트에 "single session mode"가 포함됨 | 다른 브라우저나 탭에서 Whizi에서 로그아웃한 후 다시 시도하세요 |
Account sharing limit reached. Please use your own Whizi account. | HTTP 403. 지난 24시간 동안 계정에서 서로 다른 기기 또는 세션 키가 3개를 초과해 확인됨 | 본인 계정을 사용하세요. 이 기간은 이동식(rolling) 창이므로, 그 외에는 기다리는 것 외에 방법이 없습니다 |
백엔드에서 발생하는 모든 인증 실패는 코드 unauthorized와 HTTP 401을 포함합니다. 채팅 페이지와 공유 모달에서는 백엔드 메시지가 그대로 표시되므로, 네트워크 추적에 나타나는 문자열과 화면에 표시되는 문자열은 그 지점에서 동일한 문자열입니다.
"세션 만료"가 실제로 의미하는 것
이는 페이지가 새로운 세션 토큰을 요청했지만 받지 못했다는 뜻입니다. 이 하나의 조건이 발생 당시 어디에 있었는지에 따라 서로 다른 문장으로 나타납니다.
| 발생 위치 | 메시지 |
|---|---|
| 토큰이 없는 모든 백엔드 호출 | Authentication required. |
| 토큰 검증에 실패한 모든 백엔드 호출 | Invalid or expired session token. |
| 검증은 되지만 클레임이 누락된 토큰 | The Clerk user_jwt token must include sub and email claims. |
| 채팅 목록, 채팅 불러오기, 삭제, 이름 변경 또는 업로드 | Failed to retrieve session token. |
| 나란히 비교, 전송 시점 | Your session expired. Please refresh and try again. |
| ChatGPT 또는 Claude 내보내기 파일 가져오기 | Your session ended. Sign in again, then start the import. |
| 설정, 해지 이전 | Authentication failed. Please sign in again. |
| 업그레이드 모달, 결제 이전 | Authentication failed. Please sign in again. |
| 공유 모달 | Not signed in. |
| 음성 오버레이 | Sign in to Whizi to use voice mode. |
| 세션 호출 자체 | Failed to fetch session ({status}). |
로그아웃 후 다시 로그인하세요. 두 문자열이 스스로 그렇게 말하고 있습니다: Your session ended. Sign in again, then start the import.와 Authentication failed. Please sign in again.입니다.
로그인 및 비밀번호 재설정 오류
인증과 계정 관리는 Clerk가 제공하므로, 이 문자열들은 Whizi 비밀번호 저장소가 아니라 로그인 흐름에서 발생합니다.
| 메시지 | 발생 조건 |
|---|---|
Login failed. Please check your credentials. | 로그인 시도가 완료 상태가 아닌 다른 상태를 반환함 |
An error occurred during login. | 로그인 호출이 예외를 발생시켰고 읽을 수 있는 메시지가 반환되지 않음 |
Please sign out from other sessions and try again. | 오류 텍스트에 "single session mode"가 포함됨 |
Failed to authenticate with social login. | 페이지를 떠나기 전에 Google 리디렉션 처리가 예외를 발생시킴 |
Please enter your email address. | 이메일 필드가 비어 있는 상태로 비밀번호 재설정 양식이 제출됨 |
Failed to send reset email. Please try again. | 비밀번호 재설정 요청이 예외를 발생시킴 |
Current password is required. | 비밀번호 재설정 페이지에서 현재 비밀번호 필드가 비어 있음 |
Passwords do not match. | 새 비밀번호 두 필드의 값이 서로 다름 |
Failed to reset password. Please try again. | 재설정이 실패했고 읽을 수 있는 메시지가 반환되지 않음 |
Please sign out from other sessions and try again.은 이 목록에서 유일하게 해결 방법이 다른 곳에 있는 항목입니다: Whizi에 로그인되어 있는 다른 탭이나 브라우저를 닫은 후 여기서 다시 시도하세요.
설정 페이지에는 재설정 흐름의 별도 사본이 있으며, 동일한 두 문자열을 사용합니다: 필드가 비어 있을 때는 Please enter your email address., 전송이 실패할 때는 Failed to send reset email. Please try again.입니다. 재시도가 유일한 해결 방법입니다. 이 흐름 전체는 Whizi 비밀번호 재설정하기에서 단계별로 다룹니다. 계속 실패한다면 새 계정을 만들지 말고 지원팀에 문의하세요.
짧은 간격으로 계속 재시도하면 속도 제한에 걸릴 수 있으며, 이 경우 HTTP 429와 함께 Too many requests. Please wait and try again.가 반환됩니다. 이 문자열 뒤에 있는 시간 창은 Whizi 속도 제한에서 확인할 수 있습니다.
회원가입 및 이메일 인증 오류
| 메시지 | 발생 조건 |
|---|---|
Registration service is not available. | 양식 제출 시 가입 객체가 준비되지 않음 |
Registration failed. Please check your information. | 가입 호출이 읽을 수 있는 메시지 없이 예외를 발생시킴 |
Verification service is not available. | 가입 객체 없이 이메일 코드 단계가 실행됨 |
Verification failed. Please try again. | 인증 시도가 완료 상태가 아닌 다른 상태를 반환함 |
Invalid verification code. Please check your email. | 인증 호출이 예외를 발생시킴 |
Could not start Google sign-up. Please try again. | Google 가입 리디렉션이 예외를 발생시킴 |
Missing session token after social signup. | 소셜 가입 완료 후 토큰을 사용할 수 없음 |
Your account was created, but checkout could not start. Please sign in and choose your plan again. | 결제 대기 중인 가입이 이후 토큰을 받지 못함 |
마지막 항목은 가입 실패가 아닙니다: 계정은 존재하며, 대기 중이던 결제만 사라진 것입니다. 다음에 무엇을 해야 하는지는 결제 거부 또는 카드 결제 실패에서 확인하세요.
"이용할 수 없습니다" 문자열 두 개는 세부 정보가 거부되었다는 뜻이 아니라, 양식이 제출될 때 Clerk 가입 객체가 준비되지 않았다는 뜻입니다. 페이지 로딩이 끝날 때까지 기다린 후 다시 제출하세요.
임시 이메일 주소는 거부됩니다
Temporary email addresses are not allowed. Please use a permanent email address.는 HTTP 403과 코드 disposable_email_blocked입니다. 이메일 도메인이 일회용 목록에 있을 때 계정 생성 시점에 발생합니다.
이미 존재하는 계정은 이 목록의 영향을 받지 않습니다. 해결 방법은 영구적인 주소를 사용하는 것이며, 요청할 수 있는 예외는 없습니다.
동일한 문자열이 결제 시점에도 다른 상태 코드로 나타날 수 있습니다. 이 부분은 결제 거부 또는 카드 결제 실패에서 다룹니다.
계정 공유 한도 초과
Account sharing limit reached. Please use your own Whizi account.는 HTTP 403과 코드 account_sharing_limit입니다. 지난 24시간 동안 하나의 계정에서 서로 다른 기기 또는 세션 키가 3개를 초과해 확인될 때 발생합니다.
일반적인 다중 기기 사용은 정상적으로 지원됩니다: 하나의 계정을 여러 기기에서 로그인할 수 있고, 두 기기 모두 동일한 백엔드와 동일한 대화 저장소에 접근합니다. 계정당 한 번에 하나의 생성만 실행되도록 사용자별 잠금으로 강제되므로, 하나의 계정에서 두 기기가 동시에 생성을 실행할 수는 없습니다.
이에 대한 설정이나 셀프서비스 재설정은 없습니다. 이 기간은 지난 24시간을 대상으로 하므로, 오래된 기기 키가 만료되면 자연스럽게 해제됩니다. 하루에 세 개가 넘는 브라우저나 기기를 사용하는 한 사람이고 계속 이 문제가 발생한다면, 우회하려 하지 말고 지원팀에 문의하세요.
로그인은 되지만 Whizi가 계정이 없다고 표시할 때
User not found.는 세션 뒤에 있는 사용자 레코드가 삭제되었을 때 발생합니다. 결제 경로는 호출자 레코드를 읽을 수 없을 때 동일한 문자열을 HTTP 404 not_found로 반환합니다.
계정 삭제는 설정에서 2단계 확인을 거치며, 실제 Whizi 계정 레코드, 동기화된 채팅과 메시지, 업로드 및 생성된 미디어, 저장된 모바일 메모리, 추천 레코드, 모바일 자격 및 사용 상태, 속도 제한 상태, 푸시 토큰, Clerk 인증 계정을 삭제합니다. 다만 개인정보 처리방침에 명시된 제한적 보관 기간이 적용됩니다.
아무것도 삭제하지 않았는데 이 메시지가 보인다면 Whizi 지원팀에 문의하세요. 이를 위한 셀프서비스 복구 방법은 없습니다. 삭제가 포함하는 전체 범위는 Whizi가 데이터를 다루는 방식에서 확인할 수 있습니다.
게스트 프로필과 계정 연결
게스트 사용은 로그아웃 상태의 사용입니다. 모바일 앱에서는 계정 생성이 선택 사항이며, 계정 없이 계속하면 이름이나 이메일 주소가 필요 없는 익명의 기기 기반 게스트 프로필이 생성됩니다. 여기에는 별도의 접속 오류 세트가 있습니다.
| 메시지 | 발생 조건 |
|---|---|
A valid guest session is required. | HTTP 401. 게스트 토큰이 없거나, 형식이 잘못되었거나, 존재하지 않는 게스트 프로필을 가리킴 |
This guest profile has already been linked. Sign in to continue. | HTTP 409. 게스트 토큰이 이미 다른 계정에 연결된 프로필을 가리킴 |
This guest profile is linked to a different Whizi account. | HTTP 409. 연결 요청이 이미 다른 곳에 연결된 게스트 프로필을 대상으로 함 |
Wait for the current reply to finish, then try creating your account again. | HTTP 409. 생성이 아직 진행 중일 때 프로필이 연결됨 |
마지막 항목만 쉬운 해결 방법이 있습니다: 응답이 끝날 때까지 기다린 후 계정을 만드세요. 나머지 세 가지는 게스트 프로필이 이미 어떤 계정에 연결되어 있다는 뜻이므로, 해당 계정으로 로그인하거나, 그 계정을 알지 못한다면 지원팀에 문의하세요.
이 때문에 게스트 데이터가 사라지는 것은 아닙니다. 게스트도 실제 채팅과 메모리를 보유하고 있어 내보낼 가치가 있으므로, 데이터 내보내기는 게스트 세션에서도 작동합니다.
계정 자체가 어떤 작업을 수행하지 않을 때
이는 로그인 실패가 아니라 설정 화면에 표시되는 계정 수준의 실패입니다.
| 메시지 | 내용 |
|---|---|
Your account could not be deleted. Please try again, or contact support. | 삭제 요청이 실패함, 설정 화면에 표시됨 |
Account deletion failed ({status}). | 해당 토스트 뒤에 있는 원본 오류, HTTP 상태 포함 |
Failed to export your data. Please try again. | 데이터 내보내기가 실패함, 설정 화면에 표시됨 |
Export request failed ({status}). | 해당 토스트 뒤에 있는 원본 오류 |
데이터 내보내기는 분당 5회로 속도 제한이 걸려 있는데, 내보내기가 계정이 보유한 모든 것을 읽기 때문입니다. 분당 5회보다 빠르게 재시도하면 이 제한에 의해 거부됩니다.
공개 또는 개발자용 API, API 키 발급, 개인용 액세스 토큰은 존재하지 않습니다. 모든 경로가 최종 사용자 세션으로 인증되므로, 접속에 문제가 생겼을 때 회전하거나 취소하거나 붙여넣을 키 자체가 없습니다. 스크립트나 타사 도구가 계정에 접근하지 못한다면 그것이 이유입니다.
- 세션 오류는 요청에 사용 가능한 토큰이 없었다는 뜻입니다: 로그아웃 후 다시 로그인하세요
- Invalid or expired session token은 코드 unauthorized와 함께 HTTP 401입니다
- 단일 세션 메시지는 다른 Whizi 탭을 먼저 로그아웃해야 한다는 뜻입니다
- 계정 공유 가드는 24시간 동안 3개를 초과하는 기기 또는 세션 키에서 작동하며, 자연스럽게 해제됩니다
- 일회용 이메일 도메인은 가입 시 HTTP 403 disposable_email_blocked로 거부됩니다
- User not found는 세션 뒤에 있는 계정 레코드가 사라졌다는 뜻입니다: 지원팀에 문의하세요
- 429는 속도 제한 창이 요청을 거부했다는 뜻이므로, 반복 재시도하지 말고 기다리세요
- 회전할 API 키나 개인용 액세스 토큰은 없습니다
자주 묻는 질문
비밀번호를 재설정하면 Invalid or expired session token.이 사라지나요?
Invalid or expired session token.이 사라지나요?아니요. 이 문자열은 Clerk JWKS에 대한 JWT 검증이 예외를 발생시킬 때 반환되므로, 계정의 비밀번호가 아니라 브라우저가 가지고 있는 토큰에 관한 것입니다. 비밀번호 재설정 흐름에는 Current password is required.와 Passwords do not match.를 포함한 별도의 문자열이 있습니다. 대신 로그아웃 후 다시 로그인하세요.
Failed to retrieve session token.은 Whizi 장애인가요?
Failed to retrieve session token.은 Whizi 장애인가요?이는 백엔드의 거부가 아닙니다. 채팅 목록, 채팅 불러오기, 삭제, 이름 변경 또는 업로드 호출 이전에 getToken이 아무것도 반환하지 않을 때마다 웹사이트 자체가 이 오류를 발생시키므로, HTTP 상태나 오류 코드가 없습니다. 상태를 포함하는 백엔드 측 동등한 항목은 Authentication required.와 Invalid or expired session token.이며, 둘 다 HTTP 401 unauthorized입니다.
Failed to fetch session ({status}).는 무슨 뜻이고, 그 안의 숫자는 무엇인가요?
Failed to fetch session ({status}).는 무슨 뜻이고, 그 안의 숫자는 무엇인가요?이는 세션 호출 자체가 실패했을 때 웹사이트가 발생시키는 원본 오류이며, {status} 자리에 그 호출의 HTTP 상태가 채워집니다. 독자를 위해 작성된 메시지가 아니라서 내부 문자열처럼 보이는 이유입니다. 지원팀에 문의할 때는 숫자를 그대로 포함해 인용하세요.
전혀 로그인이 안 되고 이 문자열들 중 아무것도 일치하지 않습니다. 어떻게 해야 하나요?
지원팀에 문의하여 본 그대로의 텍스트와 당시 무엇을 하고 있었는지를 함께 전달하세요. 이 문자열들은 각각 코드의 한 지점에 대응하므로, 그대로의 문구가 지원팀이 활용할 수 있는 가장 빠른 단서입니다. 셀프서비스 계정 잠금 해제는 없습니다.