💻
Supabaseのメール認証(signUp)で既に登録されているメールアドレスか判別する方法
Supabaseのメール認証(signUp)にて、既に登録されているメールアドレス(重複)を判別する方法になります。
authのsignUpメソッドでサインアップできる
supabase.auth.signUp({
email: email,
password: password,
options: {
emailRedirectTo: `${window.location.origin}/signup/completed`,
}
})
supabase.auth.signUp
でメール認証の仮登録を行うことができます。
しかし、既にメール認証で登録されているメールアドレスの場合、仮登録のメールが発行されません。
Responseのidentitiesで重複メールアドレスか判別できる
supabase.auth.signUp({
email: email,
password: password,
options: {
emailRedirectTo: `${window.location.origin}/signup/completed`,
}
}).then(({ data, error }) => {
if (error) {
console.log(error);
return;
}
// 登録されているメールアドレスの場合、空の配列が返ってくる。
const identities = data.user?.identities;
if (identities?.length === 0) {
console.log('既に登録済みのユーザーです。');
}
});
既に登録されているメールアドレスの場合は、identitiesが空の配列で返ってきます。
新規のメールアドレスの場合は、identitiesの配列に値が入っています。
identitiesの配列の中身によって既に登録されているメールアドレス(重複)かどうか判別することができます。
Discussion