Javaアプリケーションからトークンベースの認証を使用するいくつかのRESTful Webサービスにアクセスする必要があります。私が理解しているように、この目的のための最善の選択はジャージーのようなJAX-RSベースのライブラリを使用することですが、私はこの点で非常に新しいです。おそらく誰かが、Webサービスからトークンを取得するための適切なリクエストのサンプルコードを与えることによって私を助けることができました。Webサービスからトークンを取得するJava POSTリクエスト
我々が持っているもの:トークン発行サーバの
- URI。 oAuth2認証を使用します。
- clientIdとclientSecretそれを検証してトークンを返すトークン発行サーバーにそれらを提出する必要があります。
- Webサービス自体のURI。
- サービスアクセスのためのユーザー名とパスワード。
私が理解できるように、私は以下のヘッダと一緒にPOSTリクエストを送信する必要がトークンを取得するには:
- "認可" は、 "基本的な YWRhMGI3NTicdscsN2I0MjNjM2EwNWQ0MjM2ZTg6QU1hS0ltUEZJaUFSR3dGMmJ3NjZZVi9Ec05YZTd0ZkEerfrvegezNoND0は="( "基本" + Base64エンコード」 clientId:clientSecret」)
- ""、 "アプリケーション/ x-www-form-urlencodedで"
- "コンテンツタイプ"、 "アプリケーション/ JSONを受け入れ、ODATA =冗長"
と、次のパラメータ:
grant_type =パスワード&ユーザ名= someusername &パスワード= somepassword &範囲=プロファイル
ホープ誰かが例のコードで私を助けます。
も[JAX-RXクライアントAPI]があります(https://docs.oracle.com/javaee/7/tutorial/jaxrs-client.htm)(主にするためのものが、RESTに限定されません)いくつかの混乱を加えたかもしれない。 – toKrause
あなたは正しいthnxですが、混乱を避けるために回答を編集します(いずれにしても、OPはクライアントのアフリカではなく、サービスの実装に関連するジャージについて話しました)。 IMHO jax-rsクライアントは、ドキュメンテーション自体に、クライアントがjaxrsサービス用ではなく、代わりにRESTサービス用であることを考慮して、ひどい名前です。p –
ジャージーはJAX-RS実装'jersey-client'という名前のコンポーネントにJAX-RSクライアントAPIも実装しています。 – toKrause