整合spring cloud云架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)

原创 2017年11月09日 09:14:07

上一篇我根据框架中OAuth2.0的使用总结,画了SSO单点登录之OAuth2.0 登出流程,今天我们看一下根据用户token获取yoghurt信息的流程:



 

Java代码  收藏代码
  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.     }  
  12.       
  13.     OauthAccessToken oauthAccessToken = userMgrService.getOauthAccessToken(accessToken);  
  14.     if(null == oauthAccessToken){  
  15.         return UserResponseCode.buildEnumResponseVO(UserResponseCode.RESPONSE_CODE_OAUTH_ACCESSTOKEN_EMPTY, null);  
  16.     }  
  17.       
  18.     String userName = oauthAccessToken.getUserName();  
  19.     if (StringUtils.isEmpty(userName)) {  
  20.         return UserResponseCode.buildEnumResponseVO(UserResponseCode.RESPONSE_CODE_OAUTH_ACCESSTOKEN_EMPTY, null);  
  21.     }  
  22.       
  23.     return this.getUser(userName);  
  24. }  
  25.   
  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.     }  
  40.       
  41. }  

 

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

 

从现在开始,我这边会将近期研发的spring cloud微服务云架构的搭建过程和精髓记录下来,帮助更多有兴趣研发spring cloud框架的朋友,大家来一起探讨spring cloud架构的搭建过程及如何运用于企业项目。源码来源

cas sso 4.0 集成OAuth,用微信登陆示例

由于公司需要cas集成微信。但是在网上没有找到相应的示例。然后我就跑到官网上去找了一下CAS怎么集成OAuth的。下面的官网加上我自己的改动。...
  • carl_china
  • carl_china
  • 2015年12月31日 17:54
  • 11776

spring boot-整合CAS Client实现单点登陆验证

实现方式一:使用第三方的starter 1、依赖的jar net.unicon.cas cas-client-autoconfig-support ...
  • liuchuanhong1
  • liuchuanhong1
  • 2017年06月13日 18:07
  • 4485

通过OAuth2.0方式弹出授权页面获得用户基本信息

获取微信用户的个人的信息的时候,要特别注意的是有两个不同的Access Token,他们产生的方式不一样,一种是使用AppID和AppSecret获取的access_token,一种是OAuth2...
  • peiyuanxin
  • peiyuanxin
  • 2016年08月30日 11:36
  • 4951

Spring Cloud云架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)

上一篇我根据框架中OAuth2.0的使用总结,画了SSO单点登录之OAuth2.0 登出流程,今天我们看一下根据用户token获取yoghurt信息的流程:   Java代...
  • qq_40343398
  • qq_40343398
  • 2017年12月18日 09:36
  • 136

整合spring cloud云架构 - SSO单点登录之OAuth2.0登录流程(2)

上一篇是站在巨人的肩膀上去研究OAuth2.0,也是为了快速帮助大家认识OAuth2.0,闲话少说,我根据框架中OAuth2.0的使用总结,画了一个简单的流程图(根据用户名+密码实现OAuth2.0的...
  • qq_40354025
  • qq_40354025
  • 2017年11月09日 08:41
  • 405

Spring Cloud云架构 - SSO单点登录之OAuth2.0登录认证(1)

之前写了很多关于spring cloud的文章,今天我们对OAuth2.0的整合方式做一下笔记,首先我从网上找了一些关于OAuth2.0的一些基础知识点,帮助大家回顾一下知识点:   一、...
  • qq375688290
  • qq375688290
  • 2017年12月20日 20:30
  • 126

Spring Cloud云架构 - SSO单点登录之OAuth2.0登录认证(1)

之前写了很多关于spring cloud的文章,今天我们对OAuth2.0的整合方式做一下笔记,首先我从网上找了一些关于OAuth2.0的一些基础知识点,帮助大家回顾一下知识点:   一、...
  • qq_40343398
  • qq_40343398
  • 2017年12月18日 08:55
  • 177

SSO单点登录使用token机制来验证用户的安全性

登录的业务逻辑 {     http:是短连接.           服务器如何判断当前用户是否登录?          // 1. 如果是即时通信类:长连接.     // 如何保证服...
  • a416090287
  • a416090287
  • 2016年09月19日 19:29
  • 18485

SSO单点登录使用token机制来验证用户的安全性

登录的业务逻辑 {     http:是短连接.           服务器如何判断当前用户是否登录?          // 1. 如果是即时通信类:长连接.     // 如何保证服...
  • qq_29290295
  • qq_29290295
  • 2017年03月09日 10:06
  • 97

Spring boot --Oauth2.0 + 单点登录

单点登录什么是单点登录。可以参考这篇文章http://www.cnblogs.com/ywlaker/p/6113927.html,简单了来说,当用户登录了一个子系统后,再访问其他系统的时候,就不用再...
  • Mr_Fogg
  • Mr_Fogg
  • 2017年06月08日 19:56
  • 7843
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:整合spring cloud云架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)
举报原因:
原因补充:

(最多只允许输入30个字)