AI を使って Auth0 を統合する
AI を使って Auth0 を統合する
Claude Code、Cursor、GitHub Copilot などの AI コーディングアシスタントを使えば、agent skills を利用して、わずか数分で Auth0 認証を自動的に追加できます。インストール:次に、AI アシスタントにこう依頼します:AI アシスタントが、Auth0 アプリケーションの作成、資格情報の取得、Auth0 ASP.NET Core Authentication SDK のインストール、認証ミドルウェアの設定、ログイン/ログアウト フローの実装まで自動で行います。agent skills の完全なドキュメント →
はじめに
Auth0.AspNetCore.Authentication SDK を使用して、新規または既存の ASP.NET MVC アプリケーションに Auth0 を統合する方法を説明します。
1
新しいプロジェクトを作成
このQuickstart用の新しいASP.NET Core MVCプロジェクトを作成するプロジェクトを開く
2
Auth0 SDK をインストール
3
Auth0アプリケーションを設定する
次に、Auth0 テナントで新しいアプリケーションを作成し、プロジェクトに設定を追加します。CLIコマンドを実行してAuth0アプリを自動的に設定する方法と、Auth0 Dashboardから手動で行う方法のいずれかを選択できます:コールバックURLの設定:設定タブで、以下のURLを設定します:
- CLI
- Auth0 Dashboard
プロジェクトのルートディレクトリで次のシェルコマンドを実行し、Auth0 アプリケーションを作成して
appsettings.json を更新します。このコマンドは次の処理を行います:
- 認証済みかどうかを確認します (必要に応じてログインを求めます)
http://localhost:5000用に設定された Auth0 Regular Web Application を作成しますappsettings.jsonをAuth0:Domain、Auth0:ClientId、Auth0:ClientSecretで更新します
- Allowed Callback URLs:
http://localhost:5000/callback - Allowed Logout URLs:
http://localhost:5000 - Allowed Web Origins:
http://localhost:5000
重要: 接続を設定し、Auth0 Dashboard の 接続 タブでお使いのアプリケーションに対して有効にしてください。
4
認証を設定する
Auth0 の認証を設定するには、
Program.cs を更新します:Program.cs
5
ログイン機能とログアウト機能を追加する
Controllers フォルダーに AccountController.cs を作成します。Controllers/AccountController.cs
6
Create プロファイルビュー
新しいファイル
Views/Account/Profile.cshtml を作成します:Views/Account/Profile.cshtml
注:
Views/Account ディレクトリが存在しない場合は、先に作成してください。7
レイアウトを更新
Login/Logout ボタンを追加するため、レイアウト ファイルを更新します。
Views/Shared/_Layout.cshtml で <nav> 要素を探し、次の内容に置き換えます:Views/Shared/_Layout.cshtml
重要: 置き換えるのは
<nav> 要素だけにしてください。_Layout.cshtml のそれ以外の部分はすべてそのまま残し、特にページ コンテンツのレンダリングに必要な @RenderBody() 呼び出しは変更しないでください。8
アプリケーションを実行
http://localhost:5000 にアクセスします。ナビゲーションバーの Login リンクをクリックします。Auth0 のログインページにリダイレクトされます。ログインすると、アプリケーションにリダイレクトされ、ナビゲーションバーに自分の名前が表示されます。チェックポイントこれで、Auth0 で保護された完全に機能する MVC アプリケーションが http://localhost:5000 で動作しているはずです。ユーザーはログインし、プロファイルを表示して、ログアウトできます。
高度な使い方
Login パラメーターをカスタマイズする
Login パラメーターをカスタマイズする
Auth0 Login Page にカスタムパラメーターを渡せます。
Controllers/AccountController.cs
API 呼び出し用にトークンを保存する
API 呼び出し用にトークンを保存する
ユーザーに代わって外部 API を呼び出す必要がある場合は、トークンを取得して保存できます。次に、コントローラーで access token を取得します。
Program.cs
Controllers/ApiController.cs
認証イベントを処理する
認証イベントを処理する
イベントを処理して、認証の動作をカスタマイズできます。
Program.cs
追加リソース
GitHubリポジトリ
ソースコードとIssueトラッカー
APIリファレンス
詳細なAPIドキュメント
コミュニティフォーラム
Auth0 Communityでサポートを受ける
よくある問題
設定を取得できない
設定を取得できない
問題: また、次の点も確認してください。
Unable to obtain configuration from: https://your-tenant.auth0.com/.well-known/openid-configuration解決策: Domain が正しく、https:// を含んでいないことを確認してください。authority はライブラリによって自動的に組み立てられます。- Domain の値の末尾にスラッシュがない
- 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
サンプルアプリケーション
ASP.NET Core MVC Playgroud アプリ
ログイン、ログアウト、ユーザープロファイルなどの例が含まれています。