Features

Users

Supaplate의 유저 기능은 의도적으로 미니멀하게 설계되었으며, 각 애플리케이션마다 유저 프로필에 대한 요구 사항과 필요성이 다릅니다.

그렇기 때문에 유저 프로필 테이블에는 name, avatar_url, marketing_consent 열만 포함되어 있습니다.

profiles 테이블에 열을 더 추가하여 유저 프로필을 확장할 수 있습니다.

이 섹션에서는 유저가 프로필 사진을 업로드할 수 있도록 Supaplate의 사용자 기능을 구성하는 방법에 대해 알아봅니다.

애플리케이션에 프로필 사진이 필요하지 않은 경우 이 섹션을 건너뛸 수 있습니다.

Supabase Users


Supabase Storage 버킷 생성

Supabase 대시보드의 Storage로 이동하여 Create bucket 버튼을 클릭합니다.

버킷 이름을 avatars로 지정하고 Public 옵션을 켠 뒤 Additional configuration 메뉴를 클릭합니다.

Restrict file upload size for bucket 옵션을 활성화하고 Max file size1MB로 설정합니다.

그런 다음 Allowed MIME types 입력란에 image/*를 입력하고 Save 버튼을 클릭합니다.

버킷 보호

Storage policies 로 이동하여 'avatars' 버킷에서 Create policy 버튼을 클릭합니다.

For Full Customization을 클릭합니다.

이름을 avatars-policy와 같이 지정합니다.

그런 다음 모든 작업(SELECT, INSERT, UPDATE, DELETE)을 선택합니다.

'authenticated' 역할을 선택하고 마지막으로 'Policy Definition' 입력란에 다음 정책을 복사하여 붙여넣습니다:

(
    (bucket_id = 'avatars'::text)
AND
    storage.filename(name) = (auth.uid())::text
)

Save 버튼을 클릭하면 모든 설정이 완료됩니다.

이 정책은 인증된 유저만 자신의 프로필 사진을 업로드하거나 삭제할 수 있도록 하는 규칙입니다. 파일 이름이 유저의 ID와 동일하게 설정되도록 보장합니다. 이렇게 하면 여러 파일로 인해 저장 공간이 낭비되는 문제를 걱정할 필요가 없습니다.

Previous
Authentication