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的用户验证。

       

  • 相关阅读:
    iOS
    “Swift Language Version” (SWIFT_VERSION) build setting must be set to a supported value for targets which use Swift
    iOS
    iOS
    springboot rabbitmq 死信队列应用场景和完整demo
    LRU
    分布式系统高可用原则
    Java8 Stream 流使用场景和常用操作
    下载安装Zookeeper
    Java8内置的函数式编程接口应用场景和方式
  • 原文地址:https://www.cnblogs.com/1138720556Gary/p/11902129.html
Copyright © 2011-2022 走看看