本日 Product Hunt に掲載中です! コメントを書く

Supabase の認証アプリを使う

Supabase の多要素認証(MFA)は、どの認証アプリの時間ベースのコード(TOTP)でも使えます。ブラウザ上のものも同じです。ダッシュボードで Account(アカウント)→ Security(セキュリティ)を開き、Multi-factor authentication(多要素認証)の「Add app」(アプリを追加)をクリックして、Authenticator 拡張機能で画面の QR コードをスキャンします。

Supabase アカウントでは、所属するすべてのプロジェクトを開けます。ユーザーデータの入ったデータベース、API キー、ストレージ、請求情報です。パスワードを盗まれれば、そのすべてを読まれたり削除されたりしかねません。MFA をオンにすると、Supabase は認証アプリの 6 桁のコードも求めます。有料プランの組織では、全メンバーに MFA を必須にすることもできます。

Supabase で多要素認証を有効にする

これはあなた自身の Supabase アカウントを守る設定です。Supabase で作ったアプリのユーザー向けに MFA をオンにするのは別の設定で、プロジェクトの Auth 設定にあります。MFA を有効にすると、Supabase はほかのセッションをすべてサインアウトするので、コードを使ってサインインし直します。

  1. パソコンで Supabase のダッシュボードにサインインします。
  2. アカウントメニューを開いて「Account」(アカウント)を選び、サイドバーで「Security」(セキュリティ)を選びます。supabase.com/dashboard/account/security を直接開いても構いません。
  3. 「Multi-factor authentication」(多要素認証)の下で「Add app」(アプリを追加)をクリックします。
  4. 「Authenticator app name」(認証アプリの名前)にわかりやすい名前を入力し、「Generate QR」(QR を生成)をクリックします。
  5. Supabase に QR コードが表示されたら、そのページを開いたまま下の手順で拡張機能に追加します。キーは「Unable to scan?」(スキャンできない場合)の下にあります。その後、拡張機能のコードを「Authentication code」(認証コード)に入力して「Confirm」(確定)をクリックします。
Supabase 公式の手順

Supabase を Authenticator に追加する

  1. Chrome Web Store から 2FA 認証システム をインストールし、ツールバーに固定して、ワンクリックでアイコンを開けるようにします。
  2. Supabase の QR コードが表示されたページは開いたままにします。Authenticator のアイコンをクリックし、「アカウント追加」→「QRコード」→「画面からQRをスキャン」の順に選びます。
  3. アカウントがリストに追加され、30 秒ごとに変わる 6 桁のコードが表示されます。名前は自由に変更できます。名前は自分用の表示にすぎません。
  4. Supabase に戻り、表示中のコードを確認欄に入力します。期限切れ間近なら、次のコードを待ちましょう。
  5. Supabase で二段階認証が有効になったことが表示されます。以降はログインのたびにコードを求められるので、拡張機能のアイコンをクリックしてコピーしてください。

QR コードがない、またはスキャンできない場合は、Supabase の設定画面でキーを手動入力するオプションを探してキーをコピーし、拡張機能の「アカウント追加」→「手動入力」→「シークレットキー」から追加します。

2FA 認証システム を Chrome に追加(無料)

Supabase にリカバリーコードはありません。2 つ目のアプリを追加しましょう

Supabase のドキュメントによると、Supabase はリカバリーコードを発行せず、二段階認証の要素をすべて失ったアカウントへのアクセスは復元できません。推奨されているのは予備の要素です。登録が 1 つだけの間に表示される「Add another app」(別のアプリを追加)をクリックし、その 2 つ目の QR コードを、スマホなど別のデバイスの認証アプリでスキャンします。Supabase は、シークレットキーをメインの認証アプリとは別の安全な場所に保管することも勧めています。拡張機能の自動バックアップもオンにしておきましょう。

コードが受け付けられない場合

いちばん多いのは QR コードが変わったケースです。ウェブサイトは設定ページを再読み込みしたり開き直したりするたびに新しい QR コードを作るため、先に追加したアカウントは合わなくなります。設定を最初からやり直し、いま画面に出ている QR コードを追加して、そのコードをすぐに入力してください。同じサイトの項目が 2 つある場合は、新しいほうを使います。そのほかの原因:コードが拒否される理由。

キーを手で入力しましたか? キーをTOTP コード生成ツールに貼り付け、表示されるコードを拡張機能のコードと比べます。違っていれば、キーのコピーを間違えています。アカウントを追加し直してください。

よくある質問

Supabase で使える認証アプリは?
標準の時間ベースのコードを生成するアプリならどれでも使えます。Supabase は 1Password、Authy、Google Authenticator、Apple のキーチェーンを挙げています。Authenticator 拡張機能も同じように動き、ダッシュボードから QR コードを直接読み取るので、スマホは不要です。
認証アプリを使えなくなったら?
2 つ目の認証アプリを登録していれば、それでサインインし、失くしたほうを置き換えます。それがなければ戻る方法はありません。Supabase は、セキュリティ上の理由から、二段階認証の資格情報をすべて失ったアカウントへのアクセスは復元しないとしています。だからこそ 2 つ目のアプリが重要なのです。
組織のプロジェクトを開けないのはなぜ?
その組織が MFA を必須にしています。オーナーが「Require MFA to access organization」(組織へのアクセスに MFA を必須にする)をオンにしており、MFA のないメンバーはすぐにプロジェクトへのアクセスを失います。メンバーであることに変わりはないので、上の手順で MFA をオンにすれば権限が戻ります。
これでアプリのユーザーにも MFA がオンになりますか?
いいえ。この手順で守られるのは、ダッシュボードへのサインインに使うあなた自身の Supabase アカウントです。Supabase で作ったアプリにサインインする人向けの MFA は Supabase Auth の機能で、プロジェクト側で別に設定します。

ログイン画面から、ワンクリックでコードを

Authenticator は 2FA コードをブラウザ内、お使いのデバイスだけに保存します。利用無料・オープンソースで、アカウント登録もスマホも不要。ローカルバックアップと、任意で使えるパスワード保護も標準搭載です。

2FA 認証システム を Chrome に追加(無料)