2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

supabase auth のユーザーを一括削除する

Posted at

概要

supabasae cli を用いてローカル環境を用意しているとき、開発環境用に作成した Auth Users を都度削除したくなった。

バージョン

  • supabase cli: 1.4.7
  • @supabase/supabase-js: 2.1.0

結果

ちょっと公式ドキュメントだけだと分かりづらかったけど以下の感じに。

import { createClient } from '@supabase/supabase-js'

const supabaseClient = createClient(process.env.SUPABASE_URL, SUPABASE_SERVICE_ROLE_KEY)

await supabaseClient.auth.admin.listUsers().then(async res => {
  await Promise.all(res.data.users.map(user => supabaseClient.auth.admin.deleteUser(user.id)))
})

大事なのは auth.admin がサーバー向け機能であるため、 createClient の第二引数には service_role key を設定する必要があること。

ローカル環境の service_role keysupabase status から確認できる。

$ supabase status
supabase local development setup is running.

         API URL: http://localhost:54321
          DB URL: postgresql://postgres:postgres@localhost:54322/postgres
      Studio URL: http://localhost:54323
    Inbucket URL: http://localhost:54324
        anon key: hogehoge
service_role key: fugafuga
2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?