implicitフローまたはauthorization codeフロー(Open IDまたはOAuth)の/authorizeリクエスト中に、以下のエラーが表示されます。
400 - 不正な要求
- ImplicitフローとAuthorization Codeフローのリクエストを認可する(GET /authorize)
- Implicitフロー
- Authorization Codeフロー
- Okta Classic Engine
このエラーが返されるのは、認可リクエストで使用した${redirect_uri}の値が、許可されたサインインリダイレクトURIとして、OktaのOpen IDクライアントに登録されていないためです。
次の認可リクエストの例において:
redirect _uri(http://localhost:8080/authorization-code/callback)が許可されたサインインリダイレクトURIとして、使用中のアプリケーションのOpen IDクライアント(上記の例ではクライアントID 0oa********357を使用)に登録されていることを確認します。
- Okta Admin Consoleの[アプリケーション]ページで、OpenIDアプリケーションに移動します(エラーの説明に表示されるURLを使用して、直接ここに移動することもできます)。
- [一般]タブで[編集]をクリックし、http://localhost:8080/authorization-code/callbackをサインインリダイレクトURIとして追加します。注:ここで追加するサインインリダイレクトURIは、認可リクエストに含めるURIと大文字小文字に至るまで(トレイリングスラッシュを含む)完全に一致していなければなりません。redirect_uriがサインインリダイレクトURIのいずれとも完全に一致しない場合、このエラーは引き続き発生します。
- [保存]をクリックします。[一般]設定は次のようになります。
トラブルシューティング
以下のフィルターを使用し、Okta System Logでこれらのイベントを検索します。
outcome.reason eq "illegal_redirect_uri"
outcome.reason eq "illegal_redirect_uri_enhanced".
[すべて展開]をクリックすると、[DebugContext]セクションに追加情報が表示されます。認可リクエストで使用するredirect_uriを確認します。
