0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Supabase AuthがOAuth2.1 Providerに対応:外部API連携とMCPがさらに安全に

Posted at

つい先日、Supabase公式のLinkedIn投稿で、こんなお知らせがでていました。

[Now you can build "Sign in with Your App" using Supabase Auth]
あなたのアプリにSupabase Authでサインインできるよ!

"Sign in with Your App"?
つまり、GoogleやGitHubみたいに、自分のSupabaseアプリを使って、他のアプリにログインできるようにできるってこと?

なにそれすごい!

ということで、公式記事を確認してみました。公式記事はこちら。

読み進めていくと、そこには驚く一言が。

"The immediate catalyst? Model Context Protocol (MCP) authentication."
「今回の機能を作った直接的なきっかけ?それはモデルコンテキストプロトコル(MCP)認証のためです。」

Oatuh2.1とMCPという言葉が結びつかず、一瞬、「??」となりましたが、読み進めていくと納得がいきました。

そして思いました。
「Supabaseは、ますます安全性に磨きをかけてくれている!」

わたしのSupabase愛に、また磨きがかかりました^^

ただ今回の変更って、公式文書(しかも英語)をぱっと見ただけでは、分かりにくい気がしました。

せっかくの良いニュースなので、これで何が可能になるのか、わかりやすくお伝えしてみますね。

SupabaseにOAuth 2.1プロバイダー機能が追加されて可能になること

大きく分けて3つあります。

社内のアプリの認証を統一できる

社内(またはグループ)の複数Webアプリの認証を、Supabase ひとつに集約できます。

たとえば:

  • WebアプリA を Supabase Auth で構築
  • WebアプリB は、A のログイン機能を使ってサインイン可能(OAuth 2.1経由)

これにより、Google や GitHub の代わりに、自社アプリでログインできる世界を作れます。
社内アプリを自前でたくさん開発したい企業やグループには嬉しい機能ですね^^

外部アプリとのAPI連携がより安全に

外部アプリとAPI連携を行う際、従来の「APIキーの直接共有」ではなく、OAuth2.1で制限アクセスを付与できるようになります。

具体的には:

  • ユーザーが明示的に「許可」した範囲だけアクセス
  • 権限取り消し可能
  • アクセストークンは有効期限付き

生成AI(MCP)での外部アプリ連携がより安全に

おそらくここが、今回の肝だと思います。

生成AIツール(Cursor、Claude Code など)を使って開発する際、AI が外部ツールやデータソースとやり取りするケースが増えています。
こうした連携のための標準規格が MCP(Model Context Protocol) です。

MCP図解.png

MCP連携は便利ですが、AIツールに強力な権限を与えることになるため、次のようなリスクがあります:

  • 生成AIが誤ってデータベースを読み書きしてしまう
  • APIキーを生成AIに渡すことによる「漏えいリスク」
  • できることの範囲が広く、制限しづらい

OAuth2.1で制限付きアクセスにすれば、こういったリスクを避けられます。
生成AIに渡すのは「短命トークン」だけです。

またSupabaseには、RLS設定によってデータベースへのアクセス制限も可能なので、これを使って、外部ツールのデータベースアクセスも制限できます。

設定方法

Supabaseの設定画面をみると、⚙(歯車)マークの設定画面/Authenticationに、OAuth Server (BETA)メニューがあります。こちらを有効にします。

(他、細かい設定は必要となりますが今回は省略します。)

supabase_oauth_01.png

デモ見たい方はこちら

他、実際に動かすためには色々設定が必要そうですが、どんなふうになるのか、下記のGitHubライブラリで動画を見れます。(下記画像です)

supabase_oauth_02.png

このデモでは、2つのアプリを使って、OAuth 2.1の実際の動きを確認できます。

さいごに

お読みいただき、ありがとうございました♪

わたしは、これがQiita初記事になります。
今回、Supabaseのアドベントカレンダーに参加してみようと思い、記事を書いてみました。

Supabaseについては、自分のブログにも色々書いているので良かったら見てくださいね。

なお、今回のOAuth 2.1 ProviderはまだBETA版です。

マニュアルなども、まだこれから対応してくれると思われる部分があります。
引き続き、見守っていきたいと思います。

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?