エラー「400 Bad Request(不正なリクエスト)」 - クライアントアプリの設定で「redirect_uri」パラメーターにログインリダイレクトURIを指定する必要がある
API Access Management
Okta Classic Engine
Okta Identity Engine
Overview

implicitフローまたはauthorization codeフロー(Open IDまたはOAuth)の/authorizeリクエスト中に、以下のエラーが表示されます。

 

400 - 不正な要求

 

エラーメッセージ

 

 
 
Applies To
  • ImplicitフローとAuthorization Codeフローのリクエストを認可する(GET /authorize
  • Implicitフロー
  • Authorization Codeフロー
  • Okta Classic Engine
Cause

このエラーが返されるのは、認可リクエストで使用した${redirect_uri}の値が、許可されたサインインリダイレクトURIとして、OktaのOpen IDクライアントに登録されていないためです。

Solution

次の認可リクエストの例において:

https://example.okta.com/oauth2/v1/authorize?client_id=0oa**********357&scope=openid+profile&response_type=id_token&nonce=1234&redirect_uri=http://localhost:8080/authorization-code/callback&state=someState

redirect _uri(http://localhost:8080/authorization-code/callback)が許可されたサインインリダイレクトURIとして、使用中のアプリケーションのOpen IDクライアント(上記の例ではクライアントID 0oa********357を使用)に登録されていることを確認します。

  1. Okta Admin Consoleの[アプリケーション]ページで、OpenIDアプリケーションに移動します(エラーの説明に表示されるURLを使用して、直接ここに移動することもできます)。
  2. [一般]タブで[編集]をクリックし、http://localhost:8080/authorization-code/callbackサインインリダイレクトURIとして追加します。注:ここで追加するサインインリダイレクトURIは、認可リクエストに含めるURIと大文字小文字に至るまで(トレイリングスラッシュを含む)完全に一致していなければなりません。redirect_uriサインインリダイレクトURIのいずれとも完全に一致しない場合、このエラーは引き続き発生します。
  3. [保存]をクリックします。[一般]設定は次のようになります。
    一般設定

 

トラブルシューティング

以下のフィルターを使用し、Okta System Logでこれらのイベントを検索します。

  • outcome.reason eq "illegal_redirect_uri" 
または
  • outcome.reason eq "illegal_redirect_uri_enhanced". 

[すべて展開]をクリックすると、[DebugContext]セクションに追加情報が表示されます。認可リクエストで使用するredirect_uriを確認します。

展開されたイベント

 

 

Recommended content

No recommended content found...