1
私はSpring OAuth2から始めています。これまでのところ、私は設定を使ってアプリケーションを保護しました。しかし、問題があります。クライアントはHTTP基本認証をサポートしていません。春OAuth2トークンエンドポイントのHTTP基本認証を無効にする
/oauth/tokenエンドポイントでHTTP Basic Authを無効にする方法はありますか? JSON本体またはリクエストヘッダーにclient_idとclient_secretを送信したいと思います。私は働きたい
カール例:
curl -X POST -H "Content-Type: application/json" -d '{
"username": "user",
"password": "pass",
"grant_type": "password",
"client_id": "test-client-id",
"client_secret": "test-client-secret"
}' "http://localhost:9999/api/oauth/token"
OR
curl -X POST -H "Content-Type: application/json" -H "X-Client-ID: test-client-id" -H "X-Client-Secret: test-client-secret" -d '{
"username": "user",
"password": "pass",
"grant_type": "password"
}' "http://localhost:9999/api/oauth/token"
JSONを入力フォーマットとして使用する場合の問題は、RFC標準で要求がフォームのURLエンコード形式で送信されなければならないため、これを変更するとサーバーはOAuth2に準拠しなくなるということです。https: //tools.ietf.org/html/rfc6749#appendix-B – Mrdev
リクエストでContent-Typeに対して1つのオプションしか指定できないとRFCが指定しているとは思いません。提供されたソリューションは、アプリケーション/ jsonとURLエンコードされた両方を並べて使用することを可能にします。もちろん、クライアントごとにJSONを有効/無効にするオプションが必要です。 –
私はたくさんの注意を払って読んだことはありませんでしたが、読んだ部分は 'x-www-form-urlencoded'リクエストでかなり緊密に見えました。 https://tools.ietf.org/html/rfc6749#section-4.3.2を参照してください。 – demaniak