リフレッシュとアクセストークンの認証コードをSpringのoauth2クライアントパッケージと交換したいと思います。私のコードは次のようになります。Spring - oauth2 - リフレッシュとアクセストークンの認証コードを交換します
public static void main(String[] args) {
AuthorizationCodeResourceDetails resource = new AuthorizationCodeResourceDetails();
resource.setUserAuthorizationUri("http://localhost:8080/oauth/authorize");
resource.setAccessTokenUri("http://localhost:8080/oauth/token");
resource.setClientId("my-client-with-secret");
resource.setClientSecret("secret");
AccessTokenRequest request = new DefaultAccessTokenRequest();
request.setAuthorizationCode("o9subu");
AuthorizationCodeAccessTokenProvider provider = new AuthorizationCodeAccessTokenProvider();
OAuth2AccessToken accessToken = provider.obtainAccessToken(resource, request);
System.out.println(accessToken.getValue());
}
プロバイダがhttps://github.com/spring-projects/spring-security-oauth/tree/master/tests/annotation/approvalからのものであり、私が直接プロバイダを呼び出したときに、私は、ブラウザからの一時のOAuth2コードを撮影しました。
、エラーメッセージがスレッド「メイン」エラー=「INVALID_REQUEST」で
例外であり、ましたerror_description =「考えCSRF検出 - 状態パラメータが必要であったが、何の状態が見つかりませんでした」org.springframeworkで をorg.springframework.security.oauth2.client.token.grant.code.AuthorizationCodeAccessTokenProvider.obtainAccessTokenで.security.oauth2.client.token.grant.code.AuthorizationCodeAccessTokenProvider.getParametersForTokenRequest(AuthorizationCodeAccessTokenProvider.java:255) (AuthorizationCodeAccessTokenProvider.java:209 )
他のシステムからoauth2コードを取得しているので、自分自身でaccess_tokenとsecret_tokenを依頼したいと思っています。