Example #1
0
  @RequestMapping("/connector/qq")
  public String qq(HttpServletRequest request) {
    String redirect = "redirect:/redirect";
    try {
      AccessToken accessToken = OAUTH.getAccessTokenByRequest(request);
      String id = new OpenID(accessToken.getAccessToken()).getUserOpenID();
      QQUser qqUser = new QQUser();
      qqUser.setId(id);
      QQAccessToken token = new QQAccessToken();
      // token.setAppId(appId);
      token.setToken(accessToken.getAccessToken());
      token.setExpireIn(accessToken.getExpireIn());
      Date current = new Date();
      token.setCreatedTime(current);
      token.setLastUpdated(current);
      qqUser.getTokens().add(token);

      User user =
          userService.register(
              qqUser, new UserInfo(accessToken.getAccessToken(), id).getUserInfo());
      SecurityContextHolder.getContext().setAuthentication(new QQAuthToken(user));
    } catch (QQConnectException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    return redirect;
  }