OAUTH的理解

1.1 什么是OAUTH

OAUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此OAUTH是安全的。即允许第三方网站在用户授权的前提下访问在用户在服务商那里存储的各种信息,而这种授权无需将用户提供的用户名和密码提供给该第三方网站。

1.2.OAuth认证授权主要特点

  1. 简单:容易理解使用
  2. 安全:没有涉及到用户密钥的信息,更安全灵活
  3. 开放:任何服务提供商都可以用

1.3 主要角色
1.resource owner(资源拥有者)
即能够有权授予对保护资源访问权限的实体。例如我们使用通过微信账号登陆豆瓣网,而微信账号信息的实际拥有者就是微信用户,也被称为最终用户。
2.resource server(资源服务器)
承载受保护资源的服务器,能够接收使用访问令牌对受保护资源的请求并响应,它与授权服务器可以是同一服务器,也可以是不同服务器。在上述例子中该角色就是微信服务器。
3. client(客户端)
代表资源所有者及其授权发出对受保护资源请求的应用程序。在上面的例子中豆瓣网就是这样的角色。
4. authorization server(授权服务器)
认证服务器,即服务提供商专门用来处理认证授权的服务器。例如微信开放平台提供的认证服务的服务器。

1.4 认证流程

在这里插入图片描述

1.首先微信用户点击豆瓣网微信授权登录按钮后,豆瓣网会将请求通过URL重定向的方式跳转至微信用户授权界面;
2.此时微信用户实际上是在微信上进行身份认证,与豆瓣网并无交互了,这一点非常类似于我们使用网银支付的场景;
3.用户使用微信客户端扫描二维码认证或者输入用户名密码后,微信会验证用户身份信息的正确性,如正确,则认为用户确认授权微信登录豆瓣网,此时会先生成一个临时凭证,并携带此凭证通过用户浏览器将请求重定向回豆瓣网在第一次重定向时携带的callBackUrl地址;
4.之后用户浏览器会携带临时凭证code访问豆瓣网服务,豆瓣网则通过此临时凭证再次调用微信授权接口,获取正式的访问凭据access_token;
5.在豆瓣网获取到微信授权访问凭据access_token后,此时用户的授权基本上就完成了,后续豆瓣网要做的只是通过此token再访问微信提供的相关接口,获取微信允许授权开发的用户信息,如头像,昵称等,并据此完成自身的用户逻辑及用户登录会话逻辑;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值