【Supabase】ローカル環境でユーザ登録できずにハマった

自分の中での結論

  • ローカル環境ではsupabase.auth.signUpメソッドでユーザ登録できない?
    • ローカル環境ではSupabaseのWebコンソールからユーザ追加すれば良いってこと?
  • 本番環境へデプロイしたらユーザ登録できた(メールアドレスの確認メールも送付された)

やってたこと

  • この辺を見ながらメール認証コード機能を作成していた
  • ローカルのSupabaseコンソールから直接、ユーザを追加してSign Inするのはできたけど、Sign Upができなかった
  • Auth API(supabase.auth.signUpメソッドで呼ばれるSupabaseのAPI)の返戻(エラーメッセージ)は以下

Auth APIの返戻

1
PKCE flow is not supported on signups with autoconfirm enabled

調べてみたこと

そもそもPKCE flow?

  • クライアントシークレットを安全に保管することが難しいアプリケーション(ネイティブアプリケーションやSPAなど)で使用される認証フロー
  • コードをコピペしてただけなのでPKCE flowなのかも良く分からない

autoconfirm?

  • 本番環境用のSupabaseではAuth Providersの設定ページで「Confirm email」のOn/Offができる
  • ローカル環境のSupabaseにはAuth Providersの設定ページがそもそもない

ローカル環境だからじゃ?

  • 本番環境へデプロイしたらユーザ登録できた(メールアドレスの確認メールも送付された)