序¶
没有什么比一张空白页更让人望而生畏。它直勾勾地盯着你,仿佛在挑衅你。
并不是你不知道自己想做什么。你脑海里早就有一幅清晰的蓝图:你要释放的“精彩”是什么样子。你甚至几乎能想象到老板或客户脸上的笑容——他们会为你打造的成果而欣喜。可问题在于:你面前就是一张空白页。
于是你伸手去拿工具。既然你在读这本书,你很可能是一名开发者或身份管理从业者。无论是哪一种,你都知道安全至关重要,也希望保护你即将构建的那些“精彩”。
这时,OAuth 登场。你听说过它,也知道它与资源保护有关——尤其是 API。它非常流行,而且看起来“无所不能”。而“无所不能”的东西往往会带来一个问题:反而让“做成一件事”变得更难。它就像另一张空白页。
于是,Justin 和 Antonio,以及这本书登场。面对一个“什么都能做”的东西,摆脱僵住状态最简单的方法,就是先开始动手,先尝试做点什么。这本书不仅解释了 OAuth 能做什么,还会循序渐进地带你把一件事做成。等你走到最后,你不仅会对 OAuth 这个工具形成非常扎实的理解,眼前也不再是一张空白页——你将准备好把脑海里的“精彩”真正交付出去。
OAuth 是一个非常强大的工具。它的力量来自于灵活性。而灵活性往往意味着:你不仅能按自己的想法去做,也同样可能以不安全的方式去做。由于 OAuth 管控的是对 API 的访问,而 API 又把守着你重要数据的入口,因此必须以安全的方式使用它:避开反模式,遵循最佳实践。换句话说,你确实有“怎么做都行、怎么部署都行”的自由,但这并不意味着你就应该这么做。
关于 OAuth,还有一点不妨摊开来说:你并不是因为想“玩 OAuth”才使用 OAuth。你使用 OAuth,是为了完成别的事情——多半是编排一系列 API 调用,然后用结果做出一些很酷的东西。你想的不是空白页,你想的是完整的一页,是你要释放的“精彩”。OAuth 是抵达目的地的一种方式,而且能让你更安全地抵达。
好在 Justin 和 Antonio 提供了务实的指导:该做什么,不该做什么。他们理解你同时拥有两种心态——“我只想把事情做完”和“我得确保这是安全的”。
当页面被填满,当“精彩”从你的脑海走进客户手中,你会发现:这份工作其实也没那么难。
——IAN GLAZER
身份高级总监
SALESFORCE