Supabase裡的每個專案都自帶一組開箱即用的會員系統和身份認證系統,只需要使用Supabase提供的SDK,不管是身份認證、登入、登出、會員管理,處理TOKEN等功能都包在裡面處理到好,相當實用。
嗨歡迎閱讀我的文章!這是關於Supabase的系列文章,內容包含介紹Supabase是什麼、基本功能應用,深入了解Supabase的進階功能應用。
身份認證介面
身份驗證的頁面和上篇文章的頁籤相同,這個頁面裡的Users即是指目前在這個APP中已經註冊的人是哪些人。
Supabase的Row Level Security(資料列安全原則)
目前右邊應該是空空如也,一個人也沒有,因為這個專案還沒有任何一個人註冊。
Providers頁面
Supabase預設提供用戶email和密碼、magic link的登入方式,,也有提供多種第三方登入選項可以給管理員選擇是否開啟,其中包含也最多人使用的Facebook、Google登入方式,如果專案是專門給開發者使用可以考慮使用Github登入。
以臺灣來說只差在沒有提供Line登入的選項,其餘的都相當實用,手機門號的登入僅限特定區域可使用就暫時不考慮。
串接的方式也相對簡單,較困難的地方大概只有去平台申請第三方登入需要填很多資料,申請完成後拿到對應的Client ID和Client Secret,按照頁面裡指定的欄位填入,並且把返回的URL設定成後台指定的位置即可,實際的設定之後實作環節再詳細檢視。
Email Templates頁面
Email Templates頁面可以設定要寄送給用的email長什麼樣,在這裡可以自訂mail的格式,當然如果不想設定也沒關係,Supabase就有提供每種情境的預設模板,如果有自己修改就會看起來更加客製化。
URL Configuration頁面
這頁面就是設定主要客戶端的URL位置,還有允許的返回URL。
其中返回URL是第三方登入使用的地方,只有在列表裡面的白名單url才會正確返回頁面,否則登入就算成功也會被導回首頁。
新增首位使用者
為專案新增首位使用者吧!這方法也是手動新增使用者的方式。
回到Users頁籤點擊右上角的Add user,可以看到兩種選擇,上面的是發送magic link給用戶,下面的則是走比較正式的email和密碼的登入方式,這裡示範就直接用magic link的方式登入吧。
直接填入自己的email後按發送,就會送出邀請email。
使用者資料位置
使用Supabase時,操作使用者登入、登出、第三方登入、email登入這些事情都完全交給Supabase的SDK去操作即可,如果在資料庫中需要判斷使用者資訊則使用每個使用者的UID作為判斷就好。
查詢的位置可以在原本的Users頁面直接看,或是回到Table Editor頁面,schema選到auth後,下方選擇users表格即可一覽所有使用者資料,如同下圖中位置。
但要注意原則上不會手動去操做public以外的表格或欄位,如果要為每個使用者建立自己的表格用來紀錄使用者資訊,則可以使用Triggers的功能,詳細的整個範例可以直接使用參考Supabase提供的整個模板。
如果有使用的話可以看到supabase提供完整sql模板,並且使用Triggers的功能,在使用者被新建的時候觸發,並把使用者的資料塞入表格指定欄位裡面,如果是實作第三方登入的話還會把頭圖給存進資料庫內。
總結
Supabase提供的會員管理系統功能相當完整,能夠提供開發者更安心的去開發產品,若日後APP成長到需要客製的程度也能提供完整幫助,當然現在講很多好處可能沒那麼有同感,要等到之後篇章實際串接起來以後才知道開發的舒適程度。
有興趣的內容