了解第三方授权OAuth

什么是三方授权?

第三方授权就是,委托第三方来对既定的用户进行鉴定,鉴定成功之后,下发信任凭证,信任凭证和用户挂钩,同时可以使用此凭证来去第三方平台,获得该用户开放的部分信息。

直白的说,就是将用户授权的工作交给第三方来做,而自己只维护信任凭证,并且获取用户信息。

就像我们的QQ和微博一样,你在逛各大论坛的时候,总会有一种途径就是第三方的App登陆。显然这种验证是要在第三方做的,而论坛只需要维护一个token,并且可以获取你的个人信息。

你如果想用部分功能,还是得注册,因为你相当于论坛只是一个有部分信息的游客,而没有成为它的用户,这种手段可以看成是提高自己访问量或转化率的一种手段吧。

其实这种授权方案不一样只用在互联网,部分企业级的网站做资源的共享访问也是这么做的。比如两个网站合作,A站点账户可以登陆B站点,B站点账户可以登陆A站点,这样A站点就能拿到B站点相关资源,反过来也是。就做到了资源共享。

那么这种授权是怎么做的呢?到底安全不安全?那么可能就要引出OAuth协议了。

OAuth是怎么做的,首先OAuth只是一个授权协议,不是一个实现或是一个中间件。

OAuth1于2007年10月建立,之后又在2009年6月重新修订和发布 http://oauth.net/core/1.0a/

OAuth1.0授权流程是什么?

了解第三方授权OAuth

流程很复杂,因为OAuth需要保证授权码和Token在传输的时候不被截取和篡改,所以使用了很多签名反复的验证。

OAuth1.0的问题:反复的签名,开放平台本来就面对开发者,但是反复的签名导致开发的流程太过于复杂。

OAuth2.0引入:抽象验证流程。由于OAuth1过于复杂,之后对OAuth进行了改造引入了Oauth2.0。

OAuth的授权过程如下:

了解第三方授权OAuth

(A) 客户端从资源拥有者那里请求授权。授权请求能够直接发送给资源拥有者,或者间接地通过授权服务器这样的中介,而后者更为可取。

(B) 客户端收到一个访问许可,它代表由资源服务器提供的授权。

(C) 客户端使用它自己的私有证书到授权服务器上验证,并出示访问许可,来请求一个访问令牌。

(D) 授权服务器验证客户端私有证书和访问许可的有效性,如果验证通过则分发一个访问令牌。

(E) 客户端通过出示访问令牌向资源服务器请求受保护资源。

(F) 资源服务器验证访问令牌的有效性,如果验证通过则响应这个资源请求。

了解第三方授权OAuth

相关文章:

  • 2021-06-26
  • 2022-12-23
  • 2022-12-23
  • 2021-08-17
  • 2021-07-24
  • 2021-07-04
  • 2021-12-30
猜你喜欢
  • 2022-02-05
  • 2021-06-13
  • 2022-02-02
  • 2021-05-12
  • 2022-01-10
相关资源
相似解决方案