由 AI 翻译,尚未经过社区审校。 阅读英文版

博客 · 2023年10月4日 · Steve Simpson · 身份

理解 OAuth Web 服务器流程:啤酒花园的类比

欢迎回到我们的 Securing Identity 系列!在这一期中,我们将更深入地探讨 OAuth Web 服务器流程,延续我们之前的啤酒花园类比,同时详细剖析这个流程的细节。

再谈啤酒花园的类比

在之前的类比中,我们把获取访问令牌(在类比中是一个手环)的过程比作在啤酒花园点啤酒。由于你没有访问令牌,资源服务器拒绝了你的访问,于是客户端(一个机器人)把你引向认证服务器。认证服务器验证了你的凭据后,提供一个访问令牌,让你可以从资源服务器访问所请求的数据。

OAuth 啤酒花园类比:你把凭据交给客户端,认证服务器检查后交回一个访问令牌(手环),客户端向资源服务器出示这个令牌,拿到所请求的数据

引入第三方:汉堡店

在这个扩展的类比中,我们引入一个第三方:汉堡店,它需要用你的凭据从啤酒花园拿到啤酒。这个过程既涉及前端通道(较不安全,用红色表示),也涉及后端通道(更安全,用黑色表示)。

分步过程:

把 Web 服务器流程比作通过一家汉堡店拿到啤酒:汉堡店把你送到认证服务器去登录,收到一个授权码,用它换取一个访问令牌和一个刷新令牌,然后替你从资源服务器拿到啤酒

**在汉堡店点单:**你在汉堡店点了一杯啤酒,但店里没有。

**重定向:**你通过一个较不安全的前端通道,被重定向到认证服务器的公开网站。

**认证:**你登录 Salesforce,Salesforce 随后签发一个授权码(用一枚蓝色硬币表示)。

**交换授权码:**汉堡店收到授权码,并通过一个安全的后端通道把它出示给认证服务器。

**收到令牌:**认证成功后,汉堡店收到一个访问令牌,可能还有一个刷新令牌。

**请求数据:**汉堡店用访问令牌向资源服务器请求数据,把它和自己的数据结合起来,呈现给你。

OAuth Web 服务器流程的关键要素:

**两个通道:**这个流程涉及一个较不安全的前端通道和一个安全的后端通道。

**授权码:**一个临时的授权码用于安全的交换,用完即弃。

**营业执照:**汉堡店必须持有一张特殊的执照(使用者密钥和密码),才能代表资源所有者行事,确保交换是安全且经过授权的。

结论

OAuth Web 服务器流程很复杂,但对于安全地访问数据至关重要,尤其是在涉及第三方时。这个流程能防范潜在的攻击,确保交易安全和数据完整。

敬请关注

满怀信心地开启你的 Salesforce 身份之旅吧!想获得更多见解和技巧,请继续关注 www.SteveTechArc.com 和 YouTube 频道 @SteveTechArc (opens in a new tab)。订阅,加深你对 Salesforce 身份的理解。

与架构师同行以及正走在架构师之路上的人分享集成知识,一起改变世界!

转录借助了 AI

STA 3.12