List of usage examples for org.springframework.security.oauth2.client DefaultOAuth2ClientContext setAccessToken
public void setAccessToken(OAuth2AccessToken accessToken)
From source file:org.glytoucan.admin.service.AuthService.java
/** * @param auth/* ww w.j a v a 2 s. c om*/ * @return * @throws UserException */ @Transactional public ResponseMessage authenticate(Authentication auth) { System.out.println("user:>" + auth.getId()); System.out.println("key:>" + auth.getApiKey()); // String id = auth.getId(); ResponseMessage rm = new ResponseMessage(); rm.setErrorCode(ErrorCode.AUTHENTICATION_SUCCESS.toString()); try { // if (StringUtils.contains(id, "@")) { // id = userProcedure.getIdByEmail(id); // } if (!userProcedure.checkApiKey(auth.getId(), auth.getApiKey())) { DefaultOAuth2AccessToken defToken = new DefaultOAuth2AccessToken(auth.getApiKey()); DefaultOAuth2ClientContext defaultContext = new DefaultOAuth2ClientContext(); defaultContext.setAccessToken(defToken); OAuth2RestOperations rest = new OAuth2RestTemplate(googleOAuth2Details(), defaultContext); UserInfo user = null; try { final ResponseEntity<UserInfo> userInfoResponseEntity = rest .getForEntity("https://www.googleapis.com/oauth2/v2/userinfo", UserInfo.class); logger.debug("userInfo:>" + userInfoResponseEntity.toString()); user = userInfoResponseEntity.getBody(); } catch (HttpClientErrorException e) { logger.debug("oauth failed:>" + e.getMessage()); rm.setErrorCode(ErrorCode.AUTHENTICATION_FAILURE.toString()); rm.setMessage("oauth failed:>" + e.getMessage()); return rm; } // String idFromEmail = userProcedure.getIdByEmail(user.getEmail()); if (!StringUtils.equals(user.getEmail(), auth.getId())) { rm.setErrorCode(ErrorCode.AUTHENTICATION_FAILURE.toString()); rm.setMessage("id do not equal:>" + user.getEmail() + "<> " + auth.getId()); return rm; } } else { return rm; } } catch (UserException e1) { rm.setErrorCode(ErrorCode.AUTHENTICATION_FAILURE.toString()); rm.setMessage("rdf checks failed:>" + e1.getMessage()); return rm; } return rm; }