145 List<NameValuePair> formparams =
new ArrayList<>();
147 formparams.add(
new BasicNameValuePair(OAuth2Constants.GRANT_TYPE,
"authorization_code"));
148 formparams.add(
new BasicNameValuePair(OAuth2Constants.CODE, code));
149 formparams.add(
new BasicNameValuePair(OAuth2Constants.REDIRECT_URI, redirectUri));
150 if (sessionId != null) {
151 formparams.add(
new BasicNameValuePair(AdapterConstants.CLIENT_SESSION_STATE, sessionId));
152 formparams.add(
new BasicNameValuePair(AdapterConstants.CLIENT_SESSION_HOST, HostUtils.getHostName()));
155 if (codeVerifier != null) {
156 logger.debugf(
"add to POST parameters of Token Request, codeVerifier = %s", codeVerifier);
157 formparams.add(
new BasicNameValuePair(OAuth2Constants.CODE_VERIFIER, codeVerifier));
159 logger.debug(
"add to POST parameters of Token Request without codeVerifier");
162 HttpPost post =
new HttpPost(deployment.getTokenUrl());
163 ClientCredentialsProviderUtils.setClientCredentials(deployment, post, formparams);
165 UrlEncodedFormEntity form =
new UrlEncodedFormEntity(formparams,
"UTF-8");
166 post.setEntity(form);
167 HttpResponse response = deployment.getClient().execute(post);
168 int status = response.getStatusLine().getStatusCode();
169 HttpEntity entity = response.getEntity();
171 error(status, entity);
173 if (entity == null) {
174 throw new HttpFailure(status, null);
176 InputStream is = entity.getContent();
178 ByteArrayOutputStream os =
new ByteArrayOutputStream();
180 while ((c = is.read()) != -1) {
183 byte[] bytes = os.toByteArray();
184 String json =
new String(bytes);
186 return JsonSerialization.readValue(json, AccessTokenResponse.class);
187 }
catch (IOException e) {
188 throw new IOException(json, e);
193 }
catch (IOException ignored) {
static void error(int status, HttpEntity entity)
Definition: ServerRequest.java:272
static String stripOauthParametersFromRedirect(String uri)
Definition: ServerRequest.java:291
static Logger logger
Definition: ServerRequest.java:51