SSO--单点登录--05--第三方登录

OAuth2.0协议

什么是OAuth2.0

  • OAuth是一个开放协议,允许用户让第三方应用以安全且标准的方式获取该用户在某一网站、移动或桌面应用上存储的私密的资源(如用户个人信息、照片、视频、联系人列表),而无需将用户名和密码提供给第三方应用。
  • OAuth 2.0是OAuth协议的下一版本,但不向后兼容OAuth 1.0。 OAuth2.0关注客户端开发者的简易性,同时为Web应用,桌面应用和手机,和起居室设备提供专门的认证流程。
  • OAuth允许用户提供一个令牌,而不是用户名和密码来访问他们存放在特定服务提供者的数据。每一个令牌授权一个特定的网站(例如,视频编辑网站)在特定的时段(例如,接下来的2小时内)内访问特定的资源(例如仅仅是某一相册中的视频)。这样,OAuth允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要分享他们的访问许可或他们数据的所有内容。

微信公众平台OAuth2.0授权

微信公众平台OAuth2.0授权详细步骤如下:

  1. 引导用户进入授权页面

  2. 用户点击授权页面URL,将向服务器发起请求

  3. 服务器询问用户是否同意授权给微信公众账号(scope为snsapi_base时无此步骤)

  4. 用户同意(scope为snsapi_base时无此步骤)

  5. 服务器将CODE通过回调传给微信公众账号

  6. 微信公众账号获得CODE

  7. 微信公众账号通过CODE向服务器请求Access Token

  8. 服务器返回Access Token和OpenID给微信公众账号

  9. 微信公众账号通过Access Token向服务器请求用户信息(scope为snsapi_base时无此步骤)

  10. 服务器将用户信息回送给微信公众账号(scope为snsapi_base时无此步骤)

微信公众平台OAuth2.0授权详细步骤如下:

  1. 引导用户进入授权页面

  2. 用户点击授权页面URL,将向服务器发起请求

  3. 服务器询问用户是否同意授权给微信公众账号(scope为snsapi_base时无此步骤)

  4. 用户同意(scope为snsapi_base时无此步骤)

  5. 服务器将CODE通过回调传给微信公众账号

  6. 微信公众账号获得CODE

  7. 微信公众账号通过CODE向服务器请求Access Token

  8. 服务器返回Access Token和OpenID给微信公众账号

  9. 微信公众账号通过Access Token向服务器请求用户信息(scope为snsapi_base时无此步骤)

  10. 服务器将用户信息回送给微信公众账号(scope为snsapi_base时无此步骤)

SSO--单点登录--05--第三方登录_第1张图片

第三方登录

SSO--单点登录--05--第三方登录_第2张图片

你可能感兴趣的:(项目-demo---技术点,github)