サードパーティアプリケーションの問題を特定する
- Client IDのプレフィックス: サードパーティアプリケーションの
client_idはtpc_で始まります。 - テナントのログ: Auth0 Dashboard > Monitoring > Logs でアプリケーションで絞り込み、エラーイベントを確認します。
よくあるエラー
/authorize エンドポイントでパラメーターが厳密に検証されます。screen_hint、login_ticket、invitation、request (JAR) 、request_uri (PAR) などのパラメーターはサポートされていません。
解決策: 認可リクエストからサポートされていないパラメーターを削除してください。使用できるパラメーターの一覧については、サードパーティアプリケーションのセキュリティ制御を参照してください。
id_token または token に対する unsupported_response_type
response_type=token または response_type=id_token) は、サードパーティアプリケーションでは利用できません。
解決策: PKCE を使用して、response_type=code を指定してください。
/oauth/token から ID トークンが返されない
openid、profile、email) も処理されません。トークンエンドポイントはアクセストークンを返しますが、id_token は返しません。
解決策: API スコープ付きのアクセストークンを使用して、アプリケーションに必要な情報を取得してください。サードパーティアプリケーション向けの OIDC サポートは、今後のリリースで提供される予定です。
サポートされていないグラントタイプ
authorization_code、refresh_token、client_credentials のみです。implicit、password、urn:ietf:params:oauth:grant-type:device_code などのグラントタイプは使用できません。
解決策: ユーザーフローでは、PKCE を使用した認可コードフロー を使用してください。マシン間アクセスには、機密クライアントで Client Credentials Flow を使用してください (token_endpoint_auth_method は none 以外である必要があります) 。
Classic Login が動作しない
Client ID が tpc_ で始まる
tpc_ プレフィックスが付きます。これは作成時に付与され、変更できません。
解決策: これは想定どおりの動作です。より長い Client ID 形式に対応できるよう、クライアント側のバリデーションやデータベースの制約を更新してください。
is_first_party またはセキュリティモードは変更できません
メール確認またはパスワードのリセットでエラーページが表示される
redirection_policy が open_redirect_protection に設定されているため、Auth0 はメールテンプレート内で application.callback_domain を公開しません。
解決策: サードパーティアプリケーション向けのフォールバックを含む Liquid の条件式を追加して、メールテンプレートを更新してください。
redirection_policy を allow_always に設定します。詳しくは、サードパーティアプリケーションのセキュリティ制御を参照してください。
DCR クライアントがどの API にもアクセスできない
/userinfo がエラーを返す
/userinfo エンドポイントはサードパーティアプリケーションでは利用できません。
解決策: APIスコープのアクセストークンを使用して、アプリケーションに必要な情報を取得してください。/userinfo を含む OIDC のサポートは、今後のリリースで追加される予定です。
/oauth/revoke は使えるが、ログアウトエンドポイントは使えない
/v2/logout) は、サードパーティアプリケーションでは利用できません。
解決策: リフレッシュトークンを取り消すには POST /oauth/revoke を使用します。セッションのクリアはアプリケーション側で行う必要があります。
サードパーティアプリケーションではコネクションを利用できません
Organization 経由で認証する際の invalid_request
invalid_request: parameter organization is invalid: {org_id} で失敗します。
解決策: 管理者は、Organization でサードパーティアプリケーションによるアクセスを有効にする必要があります。詳細については、「Organization のサードパーティアプリケーションによるアクセスを有効にする」をお読みください。