致谢

致谢

创作本书的过程真的犹如一段充实的旅程。当我们启动写书计划并列出大纲时,就意识到所需付出的精力将远超预期。事实证明当时的判断是正确的,也非常高兴我们终于可以写致谢语了,感谢所有帮助我们完成本书的人。我们可能无法在此列出所有人的名字,所以即使您的名字没有出现在这里,也请接受我们诚挚的谢意。

首先要感谢IETF的OAuth工作组以及外围的OAuth及开放标准社区,没有他们的付出和鼓励,本书不可能完成。特别是John Bradley和Hannes Tschofenig,他们为本书提出了许多宝贵的意见。感谢社区中的Ian Glazer、William Dennis、Brian Campbell、Dick Hardt、Eve Maler、Mike Jones和其他许多人给予我们鼓励,并在网上提供了很多重要信息。感谢Aaron Parecki为我们提供了oauth.net上的空间,让我们不仅可以讨论本书,还发布了专题文章,其中包括第13章的早期版本。特别要感谢Ian为本书作序,并认可我们的工作。

如果没有Manning出版团队的帮助和付出,本书就不可能面世。我们有出色的编辑团队和支持人员,他们是Michael Stephens、Erin Twohey、Nicole Butterfield、Candace Gillhoolley、Karen Miller、Rebecca Rinehart、Ana Romac,特别是编辑Jennifer Stout非常了不起。感谢Ivan Kirkpatrick、Dennis Sellinger和David Fombella Pombal,他们负责校对技术部分。非常感谢所有在本书还处于MEAP状态就预订的人,你们的早期反馈至关重要,让我们得以尽可能地以最高水准呈现本书。

还要感谢同行审稿人,他们审阅了本书各个阶段的手稿,并提出了宝贵意见,他们是:Alessandro Campeis、Darko Bozhinovski、Gianluigi Spagnuolo、Gregor Zurowski、John Guthrie、Jorge Bo、Richard Meinsen、Thomas O'Rourke以及Travis Nelson。

Justin Richer

我最最应该感谢的是我的合著者Antonio Sanso。他的安全和加密专业知识远超我的想象,我非常荣幸能与他合作。写作本书最开始是他的提议,我们一起协作,最终得以完成。

感谢我的朋友Mark Sherman和Dave Shepherd,他们在我开始写书之前就已成功出版过技术书。他们的出版经验给了我很大帮助,就像是隧道尽头的一盏明灯。感谢John Brooks、Tristan Lewis和Steve Moore,他们能让我蹦出一些想法和词句,尽管他们当时并没有觉察到。

非常感谢我的客户容忍我在过去的一年中因投入写作而不时地玩消失。特别感谢Debbie Bucci和Paul Grassi,他们出色的工作计划让我获得了使本书落地的第一手经验。

对同事和朋友Sarah Squire的感谢,我无以言表。是她最初向我推荐了本书练习中使用的Node.js框架,而且是她去办公用品商店打印了本书的第一个印刷版。总之,她对这个项目的鼓励、支持、批评和热情是无与伦比的,如果没有她,本书不会完成。

最后,也是最重要的,我要诚挚地感谢我的家人。我的妻子Debbie,以及孩子Lucien、Genevieve和Xavier给予我无尽的耐心。无数个深夜和周末,我将自己关在办公室里,与世隔绝,我敢肯定他们都已开始怀疑我是否还出得来。但现在,我很高兴地说,我们有大把的时间来玩乐高了。

Antonio Sanso

编写本书的过程是一段美妙的旅途,当写到这一部分时,我心怀愉悦和满足。与所有旅途一样,重要的不是目的地,而是沿途的风景。没有周围的人对我的帮助,我不可能参与完成本书。

感谢我的雇主Adobe公司以及经理Michael Marth和Philipp Suter为本书的写作开绿灯。

OAuth是一个被广泛应用的协议,由IETF旗下的众多同仁协作而成。他们中的有些人是安全领域的顶级专家。在写作过程中,我们有幸得到了John Bradley、Hannes Tschofenig和William Dennis的宝贵意见。

友谊会对一个人的生活产生不可思议的影响。因此,我要特别感谢这些人(排名不分先后):Elia Florio给了我源源不断的灵感;Damien Antipa非常耐心地解释了JavaScript和CSS中最晦涩难懂的部分;Francesco Mari带我进入了Node.js的缤纷世界,还不厌其烦地倾听我无尽的抱怨;Joel Richard带我领略了Apache Cordova的魔力;Alexis Tessier是我见过的最有才华的设计师;还有Ian Boston校对了本书。

最重要的,要感谢Justin Richer,他是我所一直期望的理想合著者。Justin,你太棒了!

还要特别感谢我所爱的人们,没有你们我就无法完成本书。

感谢我的父母。他们总是鼓励我不断学习,并且不会给我任何压力,尽管他们自己没有学习的机会。他们的支持是独一无二的。还要感谢我的哥哥和姐姐对我的鼓励,特别是我刚上大学的时候。

当然,最要感谢的是我的未婚妻Yolanda(马上就要结婚了),她不断鼓励我,并支持我所做的一切。最后,要感谢我的儿子Santiago,他让生活中的每一天都很美好。我爱你。

目录

  • 版权声明
  • 前言
  • 致谢
  • 关于本书
  • 关于封面图片
  • 第一部分 起步
  • 第 1 章 OAuth 2.0是什么,为什么要关心它
  • 第 2 章 OAuth之舞
  • 第二部分 构建OAuth环境
  • 第 3 章 构建简单的OAuth客户端
  • 第 4 章 构建简单的OAuth受保护资源
  • 第 5 章 构建简单的OAuth授权服务器
  • 第 6 章 现实世界中的OAuth 2.0
  • 第三部分 OAuth 2.0 的实现与漏洞
  • 第 7 章 常见的客户端漏洞
  • 第 8 章 常见的受保护资源漏洞
  • 第 9 章 常见的授权服务器漏洞
  • 第 10 章 常见的OAuth令牌漏洞
  • 第四部分 更进一步
  • 第 11 章 OAuth令牌
  • 第 12 章 动态客户端注册
  • 第 13 章 将OAuth 2.0用于用户身份认证
  • 第 14 章 使用OAuth 2.0的协议和配置规范
  • 第 15 章 bearer令牌以外的选择
  • 第 16 章 归纳总结
  • 附录 A 代码框架介绍
  • 附录 B 补充代码清单