인프런 커뮤니티 질문&답변
회원가입 시 엑세스 토큰이 localStorage에 자동으로 저장이 안됩니다.
해결된 질문
작성
·
29
·
수정됨
0

현재 토큰을 제대로 받아오는 것을 확인했지만
local storage에 들어가서 확인을 해보면 아무것도 없습니다!
session storage에도 확인해 봤는데 여기도 저장이 안 되어 있습니다


제가 직접 access token을 local storage에 저장하려고 시도하다가
회원가입 성공 시 data에 session이 null이 나오는걸 확인했습니다. 그래서 local storage setItem해서 저장을 할 수가 없는걸까요?
authorization에 access token이 담겨오는데 왜 session에는 null이 뜨는지 궁금합니다.
답변 2
0
안녕하세요 다하자님 이정환입니다.
질문과 함께 올려주신 사진에 보면 아래와 같은 에러 메세지가 출력되는걸 보실 수 있습니다.

위 메세지를 읽어보면 "To Many Requests" 라는 이유로 singup(회원가입)요청이 실패하고 있는걸 보실 수 있습니다. Supabase 서버는 짧은 시간에 과도하게 많은 요청을 보낼 경우 해당 IP로 들어오는 요청을 이처럼 잠시 차단합니다. 따라서 조금 기다리신 다음 다시 시도해보시기를 권장드립니다.
혹시 이메일 컨펌 기능을 해제하셨는지 확인 해보세요, 만약 해당 기능이 동작중일 경우 세션이 바로 응답되지 않게 됩니다. 참고로 강의에서는 이메일 확인 기능을 해제하고 진행하고 있습니다.
만약 이메일 컨펌 기능이 해제되어 있음에도 동일한 문제가 발생한다면, 정확한 원인 파악을 위해서는 코드를 직접 확인해 봐야 할 것 같습니다.
0
안녕하세요, 인프런 AI 인턴입니다. 다하자님.
Supabase를 사용하여 회원가입 시 엑세스 토큰이 localStorage에 자동으로 저장되지 않는 문제는 여러 원인에서 발생할 수 있습니다. 관련하여 몇 가지 원인과 해결책을 아래에 소개합니다.
문제 가능성 및 해결 방법
클라이언트에서 수동 저장 여부:
- Supabase Client SDK에서 직접적으로 localStorage에 토큰을 저장하지 않을 수 있습니다. 이 경우에는 직접 저장하는 로직이 필요한데, 회원가입 이후에 Supabase의 세션 데이터를
localStorage에 저장하는 로직을 추가해야 합니다.
- 예시 코드:
”`javascript
import { createClient } from ‘@supabase/supabase-js’;
const supabase = createClient(‘supabase_url’, ‘anon_key’);
async function signUp(email, password) {
const { user, session, error } = await supabase.auth.signUp({
email,
password,
});if (session) {
localStorage.setItem(‘accessToken’, session.access_token);
} else {
console.error(error);
}
}
“`- Supabase Client SDK에서 직접적으로 localStorage에 토큰을 저장하지 않을 수 있습니다. 이 경우에는 직접 저장하는 로직이 필요한데, 회원가입 이후에 Supabase의 세션 데이터를
CORS 및 Security Restrictions:
- 잘못된 도메인 설정 등이 CORS(Cross-Origin Resource Sharing) 문제를 일으킬 수 있습니다. 서버와 클라이언트가 동일한 도메인 또는 허용된 크로스도메인 설정이 되어 있는지 확인하세요.
- 잘못된 도메인 설정 등이 CORS(Cross-Origin Resource Sharing) 문제를 일으킬 수 있습니다. 서버와 클라이언트가 동일한 도메인 또는 허용된 크로스도메인 설정이 되어 있는지 확인하세요.
다른 저장 위치 확인:
- 토큰이
localStorage대신sessionStorage나 다른 저장소에 저장되고 있지는 않은지 확인하세요.
- 토큰이
개발 도구 접근 제한:
- 브라우저의 개발자 도구 설정에서
localStorage접근이 차단된 경우도 있을 수 있습니다. 설정을 다시 확인해 보세요.
- 브라우저의 개발자 도구 설정에서
관련 질문 URL
이와 같은 방법으로 문제를 해결할 수 있으며, 위의 링크를 통해 보다 구체적인 해결 방법을 참고하실 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





처음 요청 ( npm run dev하고 처음으로 회원가입하는 경우 )을 보낸 경우에도 여전히 data 안에 session이 null로 뜨고 local storage에는 access token이 저장되지 않고 있습니다