Repolode
supabase

supabase/auth

Supabase Authを支える、JWTを発行するGo製の認証・ユーザー管理サーバー。

代替できる製品:Auth0Firebase Authentication

スター
2,593
フォーク
802
未解決の Issue
399
最終コミット
昨日

これは何?

Authは、Goで書かれたユーザー管理・認証サーバーです。ユーザー登録とサインインを処理し、JWTのアクセストークンとリフレッシュトークンを発行します。また、PostgRESTでのRow Level Securityなど、Supabaseの機能を支えるID基盤を提供します。メールアドレスとパスワード、マジックリンク、電話番号へのOTP送信、Google、Apple、GitHub、Discordなどの外部OAuthプロバイダーによるサインインに対応しています。

サーバーはGOTRUE_プレフィックスの環境変数で設定し、PostgreSQLに接続して動作します。マイグレーションは起動時に自動適用されます。ユーザー管理やアクションリンクの生成に使える管理用エンドポイント、確認・アカウント復旧・招待用のメールテンプレート、任意で有効化できるCAPTCHAチェック、再利用検出機能付きのリフレッシュトークンローテーション、OpenTelemetryによるトレースとメトリクスを備えています。NetlifyのGoTrueコードベースをフォークしたプロジェクトで、機能面では本家から独自に発展しています。

このプロジェクトはGoライブラリではなくサービスとしての実行を想定しています。メンテナーは、TLS対応プロキシの背後で実行し、管理対象のスキーマを変更しないことを推奨しています。

主な機能

  • 01JWTのアクセストークンとリフレッシュトークンを発行し、リフレッシュトークンのローテーションと再利用検出に対応
  • 02メールアドレスとパスワード、マジックリンク、電話番号OTP、匿名でのサインインに対応
  • 03Google、Apple、GitHub、Discordなど、多数のOAuthプロバイダーと連携
  • 04ユーザーの作成・更新・BANや、アクションリンクの生成に使える管理用APIを搭載
  • 05確認、アカウント復旧、招待、通知用のカスタマイズ可能なメールテンプレートを送信
  • 06OpenTelemetryのトレースと、PrometheusまたはOpenTelemetry形式のメトリクスをエクスポート

ユースケース

  • SupabaseプロジェクトやセルフホストのSupabase環境に、ユーザーアカウントとソーシャルログインを追加する
  • PostgreSQLベースのAPIが行レベルのアクセス制御に使うJWTを発行する
  • メール、電話番号、OAuthによるサインインに対応した認証サービスをセルフホストで運用する

クイックスタート

  1. 1

    コンテナでローカルのPostgresデータベースを起動する

    docker-compose -f docker-compose-dev.yml up postgres
  2. 2

    authバイナリをビルドする

    make build
  3. 3

    authバイナリを実行する

    ./auth

使う前に知っておきたいこと

  • 本番環境で実行するには、セキュリティアップデートを速やかに適用するプロセスが必要です。また、READMEではホスト型のSupabase Authの使用を推奨しています。
  • Goライブラリとしての使用を想定しておらず、Go APIの互換性は保証されません。
  • マルチテナントやスーパー管理者など、Netlifyから引き継いだ一部の機能は予告なく削除される場合があります。

収録されている特集

トピック

よくある質問

auth とは?
Supabase Authを支える、JWTを発行するGo製の認証・ユーザー管理サーバー。 Authは、Goで書かれたユーザー管理・認証サーバーです。ユーザー登録とサインインを処理し、JWTのアクセストークンとリフレッシュトークンを発行します。また、PostgRESTでのRow Level Securityなど、Supabaseの機能を支えるID基盤を提供します。メールアドレスとパスワード、マジックリンク、電話番号へのOTP送信、Google、Apple、GitHub、Discordなどの外部OAuthプロバイダーによるサインインに対応しています。
auth は無料で使えますか?ライセンスは?
auth は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
auth は今もメンテナンスされていますか?
活発にメンテナンス中。auth の最終コミットは 2026年11月5日 です。
auth は何に使えますか?
SupabaseプロジェクトやセルフホストのSupabase環境に、ユーザーアカウントとソーシャルログインを追加する PostgreSQLベースのAPIが行レベルのアクセス制御に使うJWTを発行する メール、電話番号、OAuthによるサインインに対応した認証サービスをセルフホストで運用する
auth のインストール方法は?
コンテナでローカルのPostgresデータベースを起動する: docker-compose -f docker-compose-dev.yml up postgres authバイナリをビルドする: make build authバイナリを実行する: ./auth
auth はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/supabase/auth

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト