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

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


제가 직접 access token을 local storage에 저장하려고 시도하다가
회원가입 성공 시 data에 session이 null이 나오는걸 확인했습니다. 그래서 local storage setItem해서 저장을 할 수가 없는걸까요?
authorization에 access token이 담겨오는데 왜 session에는 null이 뜨는지 궁금합니다.
답변 1
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
이와 같은 방법으로 문제를 해결할 수 있으며, 위의 링크를 통해 보다 구체적인 해결 방법을 참고하실 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.




