关于spring:整合spring-cloud云架构-SSO单点登录之OAuth20-根据token获取用户信息

我依据框架中OAuth2.0的应用总结,画了SSO单点登录之OAuth2.0 登出流程,明天咱们看一下依据用户token获取yoghurt信息的流程(企业架构源码能够加求球:三五三六二四七二五九):

1.   /** 
2.   * 依据token获取用户信息 
3.   * @param accessToken 
4.   * @return 
5.   * @throws Exception 
6.   */ 
7.  @RequestMapping(value = "/user/token/{accesstoken}", method = RequestMethod.GET) 
8.  public ResponseVO getUserByToken(@PathVariable(value = "accessToken", required = true) String accessToken,@RequestHeader(value = "userId", required = true) Long userId) throws Exception { 
9.   if(StringUtils.isEmpty(accessToken)){ 
10.   return UserResponseCode.buildEnumResponseVO(UserResponseCode.RESPONSE_CODE_REQ_CANNOT_EMPTY, null); 
11.   } 

13.   OauthAccessToken oauthAccessToken = userMgrService.getOauthAccessToken(accessToken); 
14.   if(null == oauthAccessToken){ 
15.   return UserResponseCode.buildEnumResponseVO(UserResponseCode.RESPONSE_CODE_OAUTH_ACCESSTOKEN_EMPTY, null); 
16.   } 

18.   String userName = oauthAccessToken.getUserName(); 
19.   if (StringUtils.isEmpty(userName)) { 
20.   return UserResponseCode.buildEnumResponseVO(UserResponseCode.RESPONSE_CODE_OAUTH_ACCESSTOKEN_EMPTY, null); 
21.   } 

23.   return this.getUser(userName); 
24.  } 

26.   @RequestMapping(path = "/user/get/{userName}", method = RequestMethod.GET) 
27.  public ResponseVO getUser(@PathVariable(value = "userName") String userName) { 
28.   Map<String, Object> returnData = null; 
29.   try { 
30.   User user = userMgrService.getUserByName(userName); 
31.   if (null != user) { 
32.   returnData = new HashMap<String, Object>(); 
33.   returnData.put("user", user); 
34.   return UserResponseCode.buildEnumResponseVO(UserResponseCode.RESPONSE_CODE_SUCCESS, returnData); 
35.   } 
36.   return UserResponseCode.buildEnumResponseVO(UserResponseCode.RESPONSE_CODE_SYSTEM_ERROR, null); 
37.   } catch (Exception e) { 
38.   return UserResponseCode.buildEnumResponseVO(UserResponseCode.RESPONSE_CODE_SYSTEM_ERROR, null); 
39.   } 

41.  } 

我这里只是简略写了一些登出的代码,咱们会在前面的文章中具体贴出所有代码供大家参考,而且会从创立数据库,到执行操作的每一个流程记录下来。

从当初开始,我这边会将近期研发的spring cloud微服务云架构的搭建过程和精华记录下来,帮忙更多有趣味研发spring cloud框架的敌人,大家来一起探讨spring cloud架构的搭建过程及如何使用于企业我的项目。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理