网关和授权是开放平台的核心,起到 “中流砥柱” 的作用。网关要承载整个开放平台的调用量,同时还要有足够的系统容错能力。"授权"不仅要像网关一样要承载访问量,还要同时兼顾业务场景的发展。什么样的业务场景呢?类似的微信登录就是其中之一,越来越多的第三方应用都在向用户提供使用微信登录的解决方案,来减少用户注册的繁琐操作。而这个解决方案的背后原理就是博文介绍的 OAuth 2.0 技术方案。博文将详细的介绍OAuth 2.0 技术原理,使用场景,优缺点和项目实战,帮助你在自己得项目的能够熟练的使用OAuth 2.0 技术。
一、OAuth 2.0 是什么那,OAuth 2.0 到底是什么呢?Auth” 表示 “授权”,字母 “O” 是 Open 的简称,表示 “开放” ,连在一起就表示 “开放授权”。这也是为什么我们使用 OAuth 的场景,通常发生在开放平台的环境下。
在 OAuth 1.0 的时候,它有个 “很大的愿望” 就是想用一套授权机制来应对现实中的所有场景,比如 Web 应用场景、移动 App 应用场景、官方应用场景等等,但是这些场景并不是完全相同的。比如官方应用场景,你说还需要让用户来授权吗?如果需要,始终使用一套授权机制给用户带来的体验,是好还是坏呢?
到了 OAuth 2.0 的时候,就解决了 OAuth 1.0 面临的这种“尴尬”。OAuth 2.0 不再局限于一种授权机制,它扩充了授权许可机制类型,有了授权码许可机制、客户端凭据机制、资源拥有者凭据机制和隐式许可机制。这样的 OAuth 机制就能够很灵活地适应现实中的各种场景,比如移动应用的场景、官方应用的场景,等等。此外,OAuth 1.0 的弊端还包括安全上的固化攻击等问题,因此 OAuth 1.0 现在已经是废弃状态了。对于我们来讲,直接使用 OAuth 2.0 就可以了。
二、OAuth 2.0 知识框架三、 四、 五、 六、 七、 博文参考