このクイックスタートは現在 ベータ版 です。ぜひフィードバックをお寄せください。
AI プロンプト
AI プロンプト
AIを使ってAuth0を統合しますか? このプロンプトをCursor、Windsurf、Copilot、Claude Code、またはお好みのAI搭載IDEに追加して、開発を高速化しましょう。
前提条件: 作業を開始する前に、次のものがインストールされていることを確認してください:
- .NET 8.0 ソフトウェア開発キット (SDK) 以降
- お好みの IDE (Visual Studio 2022、VS Code、または Rider)
はじめに
1
新規プロジェクトを作成
このクイックスタート用に新しい ASP.NET Core Web API プロジェクトを作成するプロジェクトを開きます
2
Auth0 ソフトウェア開発キット (SDK) をインストール
3
Auth0 API をセットアップする
次に、Auth0 テナントで新しい API を作成し、その設定をプロジェクトに追加する必要があります。CLIコマンドを実行して自動的に実行するか、ダッシュボードから手動で実行するかを選択できます:
- CLI(コマンドラインインターフェース)
- ダッシュボード
プロジェクトのルートディレクトリで次のシェル コマンドを実行して、Auth0 API を作成し、
appsettings.json ファイルを更新してください。- Mac/Linux
- Windows (PowerShell)
4
認証を設定する
Program.cs の内容をすべて、次のコードに置き換えてください。Program.cs
5
公開エンドポイントと保護エンドポイントを作成する
認証テスト用のエンドポイントを追加します。
Program.cs の app.Run() の前に次のコードを追加します。Program.cs
6
API を起動する
https://localhost:7190(または類似の URL)で実行されています。正確な URL はコンソール出力を確認してください。チェックポイントこれで、Auth0 で保護された正常に動作する API が、localhost 上で稼働しているはずです。
高度な利用方法
保護された API の呼び出し
保護された API の呼び出し
アクセストークンを使用して保護されたエンドポイントをテストします。1. アクセストークンを取得します。 Client Credentials フローを使用して Auth0 から取得します。2. パブリックエンドポイントをテストします(200 OK が返るはずです):3. 認証なしで保護されたエンドポイントをテストします(401 Unauthorized が返るはずです):4. トークンを使用して保護されたエンドポイントを呼び出します:
YOUR_CLIENT_ID と YOUR_CLIENT_SECRET を取得するには、Auth0 Dashboard で Machine to Machine アプリケーションを作成し、対象の API に対して認可します。スコープベースの認可によるルートの保護
スコープベースの認可によるルートの保護
アクセストークン内の特定のスコープに基づいてエンドポイントを保護します。1. Auth0 の API でスコープを定義します:Auth0 Dashboard → APIs → 対象の API → Permissions で、次のスコープを追加します。3. エンドポイントにポリシーを適用します:アクセストークンをリクエストする際に、必要なスコープを含めます。
read:messages- メッセージの読み取りwrite:messages- メッセージの書き込み
Program.cs
強化されたセキュリティのための DPoP の活用
強化されたセキュリティのための DPoP の活用
DPoP (Demonstration of Proof-of-Possession) は、アクセストークンを暗号鍵に束縛し、トークンの盗難やリプレイ攻撃を防ぎます。DPoP サポートを有効化する:DPoP モード:DPoP と Bearer トークンの両方を受け入れる(デフォルト):DPoP トークンのみを受け入れ、Bearer トークンを拒否する:時刻検証用パラメーターを構成する:
Program.cs
DPoP の詳細については、Auth0 DPoP ドキュメント を参照してください。
カスタム認可ポリシーの実装
カスタム認可ポリシーの実装
複雑な要件に対応する再利用可能な認可ポリシーを作成できます。1. カスタム要件を作成する:2. ハンドラーを作成する:3. ポリシーを登録して使用する:
Authorization/HasScopeRequirement.cs
Authorization/HasScopeHandler.cs
Program.cs
ユーザー情報の取得
ユーザー情報の取得
認証済みトークンからユーザー情報を抽出します。
カスタム トークン検証
カスタム トークン検証
特定の要件に合わせて JWT トークンの検証パラメーターをカスタマイズします。
Program.cs
追加リソース
SDK ドキュメント
完全な SDK ドキュメントと API リファレンス
移行ガイド
JWT Bearer 認証から移行する
コード例
充実したコード例とパターン
DPoP ドキュメント
Proof-of-Possession によるセキュリティについて学ぶ
トークンのベストプラクティス
トークンのセキュリティに関するベストプラクティス
コミュニティフォーラム
Auth0 コミュニティでサポートを受ける
Common Issues
設定値が見つからない
設定値が見つからない
問題:
ArgumentNullException: Value cannot be null. (Parameter 'Domain') などのエラーが発生します。解決方法: appsettings.json に Auth0 セクションがあり、その中に Domain と Audience の値が含まれていることを確認します。設定が正しく読み込まれているかを確認します:開発環境での HTTPS 証明書エラー
開発環境での HTTPS 証明書エラー
問題: ローカルで実行した際に SSL/TLS 証明書エラーが発生します。解決方法: 開発用証明書を信頼済みに設定します:または、新しい証明書を生成します:
ミドルウェアの順序の問題
ミドルウェアの順序の問題
問題: 設定が正しいにもかかわらず、認証が機能しません。解決方法: ミドルウェアの順序が正しいことを確認します。
UseAuthentication() は UseAuthorization() の前に記述する必要があります:認可ポリシーでスコープが機能しない
認可ポリシーでスコープが機能しない
問題: スコープベースの認可ポリシーが常に失敗します。解決方法: アクセストークンに必要なスコープが含まれていることを確認します。トークンをリクエストする際に、スコープを指定します:また、Auth0 の API 設定でスコープが定義されていることを確認します(Dashboard → APIs → 対象の API → Permissions)。
サンプルアプリケーション
Playground アプリケーション
公開エンドポイントおよび保護されたエンドポイント、DPoP 対応、Swagger UI との統合、Postman コレクションを含みます