zoukankan      html  css  js  c++  java
  • 关于OAuth和 SpringSocial第三方登陆流程

    关于OAuth和 SpringSocial第三方登陆流程

      关于第三方登陆基本上都使用了OAuth协议

      SocialAuthentication  身份认证

      Connection Facory  连接工厂

      Provider  供应商

      Repository  存储库

    1.OAuth协议简介

      

       

      运行原理

      

      简化一下

      

      深度一下

      

      其他基本都是这一套的流程

      

    通过令牌解决密码泄露问题是OAuth的使命

        

      

       

    OAuth角色流程

      1,服务提供商(Provider),提供令牌的应用。

        1认证服务器(Authorization Server) 发出去token

        2资源服务器(Resource Server) 验证token发资源

      2,资源所有者(Resource Owner),就是用户

      3,第三方应用(Client),想获取用户信息的应用。

      

      这是常用的四种授权模式中的授权码模式,特点是是用户在认证服务器上认证的,保证认证的正确性。如果是第三方应用向认证服务器发送认证请求,可能是伪造的,但是用户直接去认证可以避免。还有就是这个认证服务器会先发一个授权码给第三方应用服务器,然后第三方服务器会带着这个授权码去请求令牌,这样就要求第三方应用要有一个服务器,同样也是提高安全性,因为这样就会让第三方将令牌放到服务端,用户客户端不可见,还有一种简化模式是不需要这个授权码的,当然这样相对就会不安全。

    2.SpringSocial

      

      当springsocial通过令牌拿取用户信息并且构建Authentication放入SecurityContext的时候,就表示用户登陆了,而上面这幅图里面的流程是别SpringSecurity封装到一个SocialAuthenticationFilter的过滤器里面了

       

      springsocialoauth开发token验证方式,适用pc前后端分离和移动app的用户验证。

       

  • 相关阅读:
    前端优化技巧
    AngularJS 细节
    Xamarin.ios 目录结构
    Java编程中“为了性能”需做的26件事
    Java中的反射Reflection
    在MyEclipse中导入Datebase方法以及在MyEclipse项目工程里加载jar驱动的方法
    Solr 使用 Log4j
    solr学习笔记linux下配置solr
    Java程序员应该了解的10个面向对象设计原则
    Java堆内存的10个要点
  • 原文地址:https://www.cnblogs.com/1138720556Gary/p/11902129.html
Copyright © 2011-2022 走看看