OAuth2协议简介

因为国内使用OAuth协议比较晚,所以目前国内使用的几乎全是OAuth2协议,国外例如LinkendIn和Twitter使用的是OAuth1协议,这里就简介一下OAuth2协议

1. 使用OAuth2之前需要了解几个概念

  • 资源所有者Resource Owner
  • 服务提供商 Provider
  • 第三方应用 Client
  • 认证服务器 Authentication Server
  • 资源服务器 Resource Server

2. 看看在实际开发中是怎么使用OAuth2的

image.png

  • 首先是资源所有者访问第三方应用Client,访问成功则请求授权,第三方应用Client同意授权。第三方应用Client去服务提供商中的认证服务器申请令牌(token),认证服务器发放令牌给Client,第三方就可以拿着这个令牌去访问服务提供商中的资源服务器申请资源,资源服务器会验证当前令牌,成功则开放当前资源。

3. OAuth协议中的四种授权模式,这里挑授权码模式来学习一下

  • 授权码模式 authorization 功能最完整,使用的最多的
  • 简化模式 implicit
  • 密码模式 resource owner password credentials
  • 客户模式 Client credentials
  • 使用授权码模式的流程,首先是资源所有者访问第三方应用Client,Client会将用户导向认证服务器,然后需要用户在认证服务器中同意授权,认证服务器携带授权码将用户又导回到Client中,然后Client就会拿着授权码去认证服务器申请令牌,认证服务器会验证码这个授权码是不是我发放的,如果是则返回令牌给Client。
    image.png

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×