Open4

@supabase/ssrについて

masaharumasaharu

@supabase/ssrとは

サーバーサイドでユーザー認証を可能にしたもの。
これまでは、ユーザーセッションはlocal storageで管理していたが、Cookieで管理できるようになる。
@supabase/ssrはbeta版なので、破壊的変更が加えられる可能性あり。

Cookieとlocal storageの違い

Cookieはhttpで送受信するから、サーバー側でユーザー認証が可能になる。
local storageだとブラウザ側でしか閲覧できないから、サーバー側でユーザー認証できない。

また、local starageではJava Scriptで操作できてしまうから、XSSの脆弱性があるらしい。

masaharumasaharu

middlewareについて

他のユーザーが作成したCookieがサーバに渡される可能性がある。
そのため、Authトークンをリフレッシュする必要がある。(Authトークンは調べる必要あり)

サーバーコンポーネントではCookieを書き込みできないみたいなので、middlewareで書き換える。

Authトークンのリフレッシュ

getUser()でリフレッシュできるらしい。
具体的にはリクエスト毎にsupabaseのAuthサーバーにAuthトークンを要求しているらしい。