Features
Users
Supaplate의 유저 기능은 의도적으로 미니멀하게 설계되었으며, 각 애플리케이션마다 유저 프로필에 대한 요구 사항과 필요성이 다릅니다.
그렇기 때문에 유저 프로필 테이블에는 name
, avatar_url
, marketing_consent
열만 포함되어 있습니다.
profiles
테이블에 열을 더 추가하여 유저 프로필을 확장할 수 있습니다.
이 섹션에서는 유저가 프로필 사진을 업로드할 수 있도록 Supaplate의 사용자 기능을 구성하는 방법에 대해 알아봅니다.
애플리케이션에 프로필 사진이 필요하지 않은 경우 이 섹션을 건너뛸 수 있습니다.
Supabase Storage 버킷 생성
Supabase 대시보드의 Storage로 이동하여 Create bucket
버튼을 클릭합니다.
버킷 이름을 avatars
로 지정하고 Public
옵션을 켠 뒤 Additional configuration
메뉴를 클릭합니다.
Restrict file upload size for bucket
옵션을 활성화하고 Max file size
를 1MB
로 설정합니다.
그런 다음 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와 동일하게 설정되도록 보장합니다. 이렇게 하면 여러 파일로 인해 저장 공간이 낭비되는 문제를 걱정할 필요가 없습니다.