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

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 を新規または既存の ASP.NET MVC アプリケーションに統合する方法を説明します。
1

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

このクイックスタート用に新しい ASP.NET Core MVC プロジェクトを作成する
プロジェクトを開く
2

Auth0 SDKをインストール

3

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

次に、Auth0テナントで新しいアプリケーションを作成し、その設定をプロジェクトに追加します。CLIコマンドを実行して自動的に行う方法と、Dashboardから手動で行う方法のいずれかを選択できます。
プロジェクトのルートディレクトリで次のシェルコマンドを実行し、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

認証を設定する

Program.cs を更新して、Auth0 認証を構成します。
Program.cs
5

ログイン機能とログアウト機能を追加

Controllers フォルダーに AccountController.cs を作成します。
Controllers/AccountController.cs
6

ユーザープロファイル作成ビュー

新しいファイル Views/Account/Profile.cshtml を作成します。
Views/Account/Profile.cshtml
注: Views/Account ディレクトリが存在しない場合は、先に作成する必要があります。
7

レイアウトを更新

レイアウト ファイルを更新して、ログイン/ログアウト ボタンを追加します。Views/Shared/_Layout.cshtml<nav> 要素を見つけ、次の内容に置き換えます。
Views/Shared/_Layout.cshtml
重要: 置き換えるのは <nav> 要素のみです。_Layout.cshtml のそれ以外の部分はすべてそのままにしてください。特に、ページ コンテンツのレンダリングに必要な @RenderBody() 呼び出しは必ず残してください。
8

アプリケーションを実行する

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

高度な使用法

コントローラーまたはビューの User プロパティから、ユーザープロファイル情報にアクセスできます。
Controllers/AccountController.cs
ユーザーの claims には、標準的な OIDC 情報が含まれます。
  • Name: ユーザーの表示名
  • Email: ユーザーのメールアドレス
  • Picture: ユーザーのプロフィール画像の URL
  • NameIdentifier (sub): 一意のユーザー ID
Auth0 のログインページにカスタムパラメーターを渡すことができます。
Controllers/AccountController.cs
ユーザーに代わって外部 API を呼び出す必要がある場合は、トークンを取得して保存できます。
Program.cs
次に、コントローラーでアクセストークンを取得します。
Controllers/ApiController.cs
イベントを処理して、認証の動作をカスタマイズします。
Program.cs

その他のリソース

GitHub リポジトリ

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

API リファレンス

詳細な API ドキュメント

コミュニティフォーラム

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

よくある問題

問題: 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

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

SDK のソースコードとあわせて、サンプルアプリケーションを利用できます。

ASP.NET Core MVC プレイグラウンド アプリ

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