#supabase
#супабаза
Вопрос:
Я хочу добавить строку в profiles
таблицу в общедоступной схеме сразу же после того, как пользователь зарегистрировался и его аутентифицированный пользователь был создан в базе данных.
Пользователь успешно создается, и я могу видеть сведения о пользователе в возвращаемом user
объекте с помощью функции supabase.auth.signUp.
Однако, когда я пытаюсь выполнить ручную вставку в таблицу, я получаю сообщение об ошибке, в котором говорится, что RLS в таблице нарушается. Однако пользователь вошел в систему, и uid указан правильно, так почему же он не позволяет мне вставлять данные?
async function handleSubmit(e: any) { e.preventDefault() const email = emailRef.current.value; const password = passwordRef.current.value; // const navigate = useNavigate(); const {user, error} = await signUp({email, password}); if(error){ alert("Error signing in"); } else { await addUserDetails({ uuid: user.id, firstName: firstNameRef.current.value, lastName: lastNameRef.current.value }); navigate("/dashboard"); } } return //rest of component } export async function addUserDetails({ uuid, firstName, lastName }){ const {data, error } = await supabase.from("profiles").insert([{ id: uuid, first_name: firstName, last_name: lastName }]) } RLS on table create policy "Users can insert their own profile." on profiles for insert with check ( auth.uid() = id );
Комментарии:
1. Может быть, потому, что пользователь не подтвердил свою электронную почту?