Skip to main content

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 を使用して、Auth0 を新規または既存の Blazor Server アプリケーションに統合する方法を説明します。
1

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

このQuickstart向けに新しいBlazor Serverプロジェクトを作成する
プロジェクトを開く
2

Auth0 SDKをインストールする

3

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

次に、Auth0 テナントで新しいアプリケーションを作成し、プロジェクトに設定を追加します。CLIコマンドを実行してAuth0 アプリケーションを自動的に設定する方法と、Auth0 Dashboardから手動で行う方法のいずれかを選択できます。
プロジェクトのルートディレクトリで次のシェルコマンドを実行し、Auth0 アプリケーションを作成して appsettings.json を更新します。
このコマンドは以下を実行します:
  1. 認証済みかどうかを確認します (必要に応じてログインを求められます)
  2. http://localhost:5000 用に構成されたAuth0 Regular Web Applicationを作成します
  3. appsettings.jsonAuth0:DomainAuth0:ClientIdAuth0:ClientSecret で更新します
コールバックURLを設定する:設定タブで、以下のURLを設定してください:
  • 許可するコールバック URL: http://localhost:5000/callback
  • 許可するログアウト URL: http://localhost:5000
  • 許可する Web オリジン: http://localhost:5000
変更を保存をクリックします
重要: 接続を設定し、Auth0 Dashboard の Connections タブでお使いのアプリケーションに対してその接続を有効にしてください。
4

認証を設定する

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

LoginページとLogoutページを追加

ユーザーが認証できるように、Login ページと Logout ページを作成します。まず、Pages フォルダーとファイルを作成します。
次に、以下のコードスニペットを追加します。
6

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

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

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

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

高度な使い方

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

よくある問題

問題: Unable to obtain configuration from: https://your-tenant.auth0.com/.well-known/openid-configuration解決策: Domain が正しく、https:// を含んでいないことを確認してください。authority はライブラリによって自動的に構築されます。
あわせて、次の点も確認してください。
  • Domain 値の末尾にスラッシュが付いていない
  • アプリケーションから Auth0 にアクセスできるインターネット接続がある
  • Domain 形式がテナントのリージョンと一致している (.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 アプリ

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