supabase 설치
npx expo install @supabase/supabase-js @react-native-async-storage/async-storage
.env 파일 생성(.gitignore에도 추가 권장)

supabase 테이블 구조

이메일 기반 로그인(signWithPassword)
https://supabase.com/docs/reference/javascript/auth-signinwithpassword
JavaScript: signInWithPassword | Supabase Docs
supabase.com
// 1) Auth 로그인 API
const { data, error } = await supabase.auth.signInWithPassword({
email, password,
})
if(error) {
console.info('로그인 실패:', error.message)
alert('로그인 실패. 다시 시도해주세요.')
return
}
사용자 정보 가져오기(getUser)
https://supabase.com/docs/reference/javascript/auth-getuser
JavaScript: getUser | Supabase Docs
jwt (Optional) Takes in an optional access token JWT. If no JWT is provided, the JWT from the current session is used.
supabase.com
// 2) tb_user 확인 (user_uuid = auth 유저 id)
const { data: userData, error: userError } = await supabase.auth.getUser()
if(userError || !userData.user) {
alert('로그인 정보를 가져오지 못했습니다.');
return;
}
const { data: profile, error: profileError } = await supabase
.from('tb_user')
.select('*')
.eq('user_uuid', userData.user.id)
.maybeSingle()
if(profileError) {
console.info('profile error', profileError.message)
alert('프로필 정보를 가져오지 못했습니다.');
return;
}
if (!profile) {
alert('가입된 정보가 없습니다.')
return
}
// 3) App에 알려서 home으로 전환
console.info('로그인 성공', profile.user_id, profile.nickname)
onLoginSuccess?.()'IT > React' 카테고리의 다른 글
| React+Tyscript (1) 로그인폼 생성 (0) | 2026.08.08 |
|---|
댓글