Supabase를 이용한 회원가입 로직에 대한 TIL(Today I Learned) 예시입니다:
Settings
> API
섹션에서 anon
및 service
키를 확인합니다.React 프로젝트를 생성하고, Supabase 클라이언트 라이브러리를 설치합니다.
npm install @supabase/supabase-js
Supabase 클라이언트 인스턴스를 초기화합니다.
import { createClient } from '@supabase/supabase-js';
const supabaseUrl = 'YOUR_SUPABASE_URL';
const supabaseAnonKey = 'YOUR_SUPABASE_ANON_KEY';
const supabase = createClient(supabaseUrl, supabaseAnonKey);
이메일과 비밀번호를 이용하여 사용자를 등록합니다.
async function signUp(email, password) {
const { user, error } = await supabase.auth.signUp({
email,
password,
});
if (error) {
console.error('회원가입 중 오류 발생:', error.message);
} else {
console.log('회원가입 성공:', user);
}
}
회원가입 폼에서 사용자 입력을 받아 signUp
함수를 호출합니다.
// 회원가입 폼 컴포넌트 예시
function SignUpForm() {
const [email, setEmail] = useState('');
const [password, setPassword] = useState('');
const handleSubmit = (e) => {
e.preventDefault();
signUp(email, password);
};
return (
<form onSubmit={handleSubmit}>
<input type="email" value={email} onChange={(e) => setEmail(e.target.value)} placeholder="이메일" />
<input type="password" value={password} onChange={(e) => setPassword(e.target.value)} placeholder="비밀번호" />
<button type="submit">회원가입</button>
</form>
);
}
Supabase를 사용하여 간단하게 회원가입 로직을 구현할 수 있었습니다. 사용자 인증을 위한 다양한 기능(이메일 인증, 소셜 로그인 등)을 제공하기 때문에, 앞으로의 프로젝트에서도 활용도가 높을 것으로 기대됩니다. Supabase의 실시간 데이터베이스 기능을 통해 실시간 채팅 앱 등 다양한 실시간 기능을 구현하는 것도 좋은 학습 경험이 될 것 같습니다.