06 | 除了授权码许可类型,OAuth 2.0还支持什么授权流程?
如果小兔打单软件是京东官方开发的软件,就不用再走一遍授权码许可类型的流程。
资源拥有者凭据许可
小兔软件只需要使用一次用户名和密码数据来换回一个 token,进而通过 token 来访问小明店铺的数据。
隐式许可
如果是纯粹的 JavaScript 应用,想使用OAuth 2.0就需要使用隐式许可。
在这种情况下,小兔软件对于浏览器就没有任何保密的数据可以隐藏了,也不再需要应用密钥 app_secret 的值了,也不用再通过授权码 code 来换取访问令牌 access_token 的值了。因为使用授权码的目的之一,就是把浏览器和第三方软件的信息做一个隔离,确保浏览器看不到第三方软件最重要的访问令牌access_token 的值。
隐式许可授权流程的安全性会降低很多
总结
- 所有的授权许可类型中,授权码许可类型的安全性是最高的。因此,只要具备使用授权码许可类型的条件,我们一定要首先授权码许可类型。
- 所有的授权许可类型都是为了解决现实中的实际问题,因此我们还要结合实际的生产环境,在保障安全性的前提下选择最合适的授权许可类型,比如使用客户端凭据许可类型的小兔软件就是一个案例。