token处理之二使用JWT替换默认的token JWT(Json Web Token) 特点: 1,自包含:jwt token包含有意义的信息 spring security oauth默认生成的token是uuid,是无意义的,本身并不包含任何信息.这个token所包含的信息,如果用redis存储token ,会在redis里存储这些信息(数据库也一样): 这样当用这个token去访问接口的时候,需要根据这个token 从redis中取出来存储的相关的信息,才能知道这个token所包含的信息…
token处理之一基本参数配置 处理token时间.存储策略,客户端配置等 以前的都是spring security oauth默认的token生成策略,token默认在org.springframework.security.oauth2.provider.token.DefaultTokenServices 类里生成的,感兴趣可以看看 /** * 认证服务器 * ClassName: ImoocAuthenticationServerConfig * @Description: TODO *…
基于JWT实现SSO 在淘宝( https://www.taobao.com )上点击登录,已经跳到了 https://login.taobao.com,这是又一个服务器.只要在淘宝登录了,就能直接访问天猫(https://www.tmall.com)了,这就是单点登录了. 淘宝.天猫都是一家的公司,所以呢希望用户在访问淘宝时如果在淘宝上做了登录,当在访问或者从淘宝跳转到天猫时,直接就处于登录状态而不用再次登录,用户体验大大的好. 结合OAuth协议,相比就是如下的流程图,应用A就相当于淘宝,应…
实现服务提供商,就是要实现认证服务器.资源服务器. 现在做的都是app的东西,所以在app项目写代码  认证服务器: 新建 ImoocAuthenticationServerConfig 类,@EnableAuthorizationServer 注解就说明该项目是一个 认证服务器: @Configuration @EnableAuthorizationServer //这个注解就是实现了一个认证服务器 public class ImoocAuthenticationServerConfig {…
基于服务器Session的认证方式: 前边说的用户名密码登录.短信登录.第三方登录,都是普通的登录,是基于服务器Session保存用户信息的登录方式.登录信息都是存在服务器的session(服务器的一块内存)里 ,用户通过浏览器访问服务的时候,每一次服务器都会检查浏览器的cookie里有没有JESSIONID,如果不存在JESSIONID服务器会新建一个session,将新建的session的id写到浏览器的cookie里.服务器每次都会从请求里拿出JSESSIONID,然后去找对应的sessi…
SpringSecurityOAuth核心源码解析 蓝色表示接口,绿色表示类 1,TokenEndpoint 整个入口点,相当于一个controller,不同的授权模式获取token的地址都是 /oauth/token ,通过grant_type 参数标识不同的授权类型,这个类就是判断授权类型 grant_type的. 2,TokenEndpoint收到请求后先调用 ClientDetailsService 读取第三方应用的信息.client_id.client_secret 来获取不同的第三方…
浏览器模式下验证码存储策略 浏览器模式下,生成的短信验证码或者图形验证码是存在session里的,用户接收到验证码后携带过来做校验. APP模式下验证码存储策略 在app场景下里是没有cookie信息的,请求里也就没有JSESSIONID,所以即使生成了验证码存在session里,你也接收到了验证码,但是没有JSEESIONID,校验你带过来的验证码时,会找不到对应的session,所以不能用session来存储验证码. 解决:在 生成 和 校验验证码的时候多带一个参数 ,设备id,生成验证码时…
 注:此文不适合0基础学习者直接阅读,请先完整的将作者关于微服务的博文全部阅读一遍,如果还有疑问,可以再来阅读此文,地址:http://blog.csdn.net/sosfnima/article/details/53178157,推荐读者去找作者的书籍<Spring Cloud微服务实战>进行详细的学习 序: 接着上一篇博文<Spring Cloud构建微服务架构(二)分布式配置中心>往下说,上一篇博文中,我们分析了分布式配置中心如何去git仓中读取配置信息,以及客户端如何去获取…
构建微服务:Spring boot 在上篇文章构建微服务:Spring boot 提高篇中简单介绍了一下spring data jpa的基础性使用,这篇文章将更加全面的介绍spring data jpa 常见用法以及注意事项 前几篇文章地址: 构建微服务:Spring boot 入门篇 构建微服务:Spring boot 提高篇 构建微服务:Spring boot中Redis的使用 构建微服务:thymeleaf使用详解 作者:纯洁的微笑出处:http://www.ityouknow.com/…
Netflix Ribbon is an Inter Process Communication (IPC) cloud library. Ribbon primarily provides client-side load balancing algorithms. Apart from the client-side load balancing algorithms, Ribbon provides also other features: Service Discovery Integr…