Oauth2

本文详细介绍了OAuth2在第三方登录(如百度使用微信授权)的应用,包括基本概念、角色划分、Oauth2的四种解决方案,重点讲解了授权码模式的流程,涉及SpringSecurity在授权服务器和资源服务器的实现以及获取和验证token的过程。
摘要由CSDN通过智能技术生成

 1:应用场景展示 

1.1: 第三方授权登录   登录百度app使用 qq  微博  和微信的授权登录  

1.2:  用户登录不需要使用百度app的账号密码   使用微信授权的密码账号来登录                                      百度去获取微信用户的信息

1.3: 百度如何获取微信的用户信息      就需要用到Oauth2 

                                    2:Oauth2的基本概念

          第三方应用为百度  服务提供者为微信

 2.1: OAuth(开放授权)是一个开放标准,允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方网站或分享他们数据的所有内容

2.2: 认证图如下:

 

  • 说明:
    (1)用户请求访问应用系统。
    (2)应用系统将认证请求发送到认证服务器,认证服务器判断是否认证,如果没有认证过,           则重定向到认证登录页面进行统一认证。
    (3)认证成功后,重定向到应用系统指定URL,并返回code。
    (4)应用系统根据返回的code请求认证服务器获取access_token和refresh_token。
    (5)应用系统根据返回的access_token请求认证服务器获取用户信息。
    (6)登录到应用系统主页。

2.3:oauth里面的角色:

用户     用户代理    第三方    服务提供商    授权服务器    资源服务器也就是存储信息的

3:Oauth2的解决四种方案

3.1:针对客户端应用如何获取服务者提供商用户信息oauth2提出四种解决方式

                             4:主讲授权码模式

4.1:获取授权码

 4.2:申请授权接口

code是授权码使用方式  token是简单模式直接跳过code访问

4.3:申请token                 资源服务器获取的令牌是否合法需要进行校验 

 

客户端信息

                         5:授权模式流程

5.1: 使用spring  security在idea中搭建两个后台服务  授权服务器和资源服务器

       使用postman或者apifox模拟百度后台发送请求到授权服务器和资源服务器

5.2:登录百度使用微信

5.3:授权接口放到浏览器上面

 

5.4:授权服务器会要求登录 使用账号密码和微信扫码一样      输入账号密码

         

5.5:询问是否允许授权     同意授权

5.6:跳回百度界面 并且会返回一个授权码  code=

5.7: code值写入postman 会返回token  

5.8:使用token获取用户信息 

基本流程: 获取code之后 通过code获取token  通过token获取用户信息 这就是授权码模式!!! 

  • 15
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值