メインコンテンツへスキップ

AI を使用して Auth0 を統合する

Claude Code、Cursor、GitHub Copilot などの AI コーディングアシスタントを使用している場合は、agent skills を使って、数分で Auth0 認証を自動的に追加できます。インストール:
次に、AI アシスタントに次のように依頼します。
AI アシスタントは、Auth0 アプリケーションの作成、認証情報の取得、Auth0 ASP.NET Core Authentication SDK のインストール、認証ミドルウェアの構成、ログイン/ログアウトフローの実装を自動的に行います。agent skills の完全なドキュメント →
前提条件: 始める前に、以下がインストールされていることを確認してください。

はじめに

Auth0 を使用すると、アプリケーションに認証をすばやく追加し、ユーザーのプロフィール情報にアクセスできます。このガイドでは、Auth0.AspNetCore.Authentication SDK を使用して、新規または既存の Blazor Server アプリケーションに Auth0 を統合する方法を紹介します。
1

新しいプロジェクトを作成

このクイックスタート用に、新しい Blazor Server プロジェクトを作成します
プロジェクトを開く
2

Auth0 SDKをインストールする

3

Auth0アプリケーションを設定する

次に、Auth0テナントで新しいアプリケーションを作成し、その設定をプロジェクトに追加します。CLIコマンドを実行して自動的に行う方法と、ダッシュボードから手動で行う方法のいずれかを選択できます。
Auth0 アプリケーションを作成し、appsettings.json を更新するには、プロジェクトのルートディレクトリで次のシェルコマンドを実行します。
コールバックURLの設定:Settings タブで、次のURLを設定します。
  • Allowed Callback URLs: http://localhost:5000/callback
  • 許可済みのログアウト URL: http://localhost:5000
  • 許可する Web オリジン: http://localhost:5000
Save Changes をクリックします
重要: 接続を設定し、Auth0 Dashboard の 接続 タブで、その接続がアプリケーションに対して有効になっていることを確認してください。
4

認証を設定する

Auth0 認証を構成するには、Program.cs を更新します。
Program.cs
注: ミドルウェアの順序は重要です。UseAuthentication()UseAuthorization() より前に呼び出す必要があります。
5

ログインページとログアウトページを追加

ユーザーが認証できるように、ログイン ページとログアウト ページを作成します。まず、Pages フォルダーとファイルを作成します。
続いて、次のコード スニペットを追加します。
6

プロフィールページの作成とレイアウトの更新

ユーザーの名前とクレームを表示するカスタムユーザープロファイルページを作成し、レイアウトを更新してログイン/ログアウトのリンクを追加します。まず、Profile コンポーネントを作成します。
次のコードスニペットを追加します。MainLayout のコードは、レイアウトの先頭部分に追加し、それ以外の部分はそのまま残してください。
7

アプリケーションを起動する

アプリケーションが起動し、待ち受けている URL が表示されるはずです:
ブラウザーを開いて http://localhost:5000 にアクセスします。ナビゲーションの Login リンクをクリックします。Auth0 のログインページにリダイレクトされます。 ログインすると、アプリケーションにリダイレクトされ、ナビゲーションに自分の名前が表示されます。
チェックポイントこれで、http://localhost:5000 で動作する、Auth0 で保護された完全に機能する Blazor Server アプリケーションが実行されているはずです。ユーザーはログイン、プロフィールの表示、ログアウトを行えます。

高度な使い方

Auth0 のログインページにカスタムパラメーターを渡せます。
Pages/Login.cshtml.cs
ユーザーに代わって外部 API を呼び出す必要がある場合は、トークンを取得して保存できます。
Program.cs
次に、アクセストークンを取得します。
B2B シナリオ向けに組織のサポートを設定します。
Program.cs
または、ログイン時に組織を指定します。
Pages/Login.cshtml.cs

よくある問題

問題: Unable to obtain configuration from: https://your-tenant.auth0.com/.well-known/openid-configuration解決策: ドメインが正しく、https:// を含んでいないことを確認してください。authority はライブラリによって自動的に構築されます。
また、次の点も確認してください。
  • ドメイン値の末尾にスラッシュがないこと
  • アプリケーションから Auth0 にアクセスできるインターネット接続があること
  • ドメイン形式がテナントのリージョン (.auth0.com.us.auth0.com.eu.auth0.com) と一致していること
問題: ArgumentNullException: Value cannot be null. (Parameter 'Domain') または同様のエラー。解決策: appsettings.json に Domain、ClientId、ClientSecret の値を含む Auth0 セクションがあることを確認してください。設定が正しく読み込まれていることも確認してください。
Program.cs
問題: 設定が正しいにもかかわらず、認証が機能しない。解決策: ミドルウェアが正しい順序で配置されていることを確認してください。UseAuthentication()UseAuthorization() より前である必要があります。
Program.cs

参考資料

GitHub リポジトリ

ソースコードと issue トラッカー

API リファレンス

詳細な API ドキュメント

コミュニティフォーラム

Auth0 コミュニティでサポートを受ける

サンプルアプリケーション

Auth0 と ASP.NET Core MVC の統合を示すサンプルアプリケーションを以下に示します。

ASP.NET Core Blazor アプリ

ログイン、ログアウト、ユーザープロファイルなどの例が含まれています。
クローンして実行します。