Categories
程式開發

一文看懂OAuth 2.0 (附实践案例)


本文由VIRAG MODY发表,经原作者授权由InfoQ中文站翻译并分享。

现代社会中,人们可能会在几十个应用上都建立了账户。不论是社交媒体应用、流媒体应用还是办公资源,我们每个人都必须管理很多包含个人信息的账户。随着时间流逝,这些孤立的应用程序之间的联系越来越紧密。Twitter允许新闻网站直接发推文;Discord在Facebook上搜索推荐的朋友;Jira使用Github个人资料创建用户帐户。这种允许应用程序代表你与其他应用交流的趋势称为“委托访问”。这已经成为我们每个人在网络生活中必不可少的一部分。

但是,由于这些应用程序保护数据的方式,开发人员遇到一个挑战:我们如何委派访问权限?几乎每个应用程序都由基本的用户名/密码架构来保护。要允许应用程序A访问在应用程序B上的所需数据,则需要代表应用程序A不断登录应用程序B——这真是个笨办法!另一个解决方法是将用于登录应用程序B的用户名和密码证书告知应用程序A,这个方法也存在如下一些问题:

  • 应用程序A将证书以明文形式存储
  • 应用程序A被赋予无限制访问应用程序B的权限
  • 用户无法轻易撤回对应用程序A的授权
  • 已被攻击成功的应用程序A使得应用程序B也面临泄漏风险

原文链接:【https://www.infoq.cn/article/09IBGv9JggKY4PNAIyPD】。未经作者许可,禁止转载。