您当前的位置是:  首页 > 新闻 > 国际 >
 首页 > 新闻 > 国际 >

BuzzFeed开源SSO认证代理、为多网站提供单一登入服务

2018-08-27 10:42:18   作者:   来源:CTI论坛   评论:0  点击:


  多站点的登入服务不只为开发营运人员,带来维护登入功能的困扰,应用程式使用者在使用不同服务时,也需要历经重复登入的繁琐程序,而BuzzFeed自行开发的单一登入认证代理SSO则能解决这些问题。
  媒体BuzzFeed开源其受Google身份识别代理(Identity Aware Proxy)启发所发展的单一登入认证代理(Single-Sign-On Authentication Proxy,SSO),以支援员工全球化的工作模式,为旗下多应用程式网站提供单一登入服务。
  由於BuzzFeed的软件生态系由数百个互相交互的微服务组成,部分这些应用程式会在网络上公开,有权限的人才可登入使用。BuzzFeed提到,由於全球员工成长,将工具曝露在网络上,供内部员工使用的需求明显成长,因此安全方便的身分认证需求也跟着增加。
  为了建立真实单一来源的身分,BuzzFeed过去使用了Bitly的开源Oauth2_proxy服务,这个反向代理使用第三方包括Google或是GitHub等OAuth2供应商服务来认证并授权请求,BuzzFeed以Oauth2_proxy加速应用程式的开发,让开发人员不需要每次建置服务,都要重新实作身分验证功能。过去有一段时间BuzzFeed大量的使用Oauth2_proxy解决方案,但是随着服务成长,发现可扩展程度不如预期发展。
  BuzzFeed提到,对营运商来说,要管理爆炸成长的样板授权代理服务非常的困难,身分验证功能的关键安全性修复程序,需要进行超过百次的补丁和部署,因为每一个受保护的微服务都有自己认证代理服务,使得控制这些服务存取,成为一项很大的挑战。而可扩展性也不是只有系统营运和开发会遇到,对终端用户也会造成困扰,这些用户需要单独登入每个应用程式,让工作流程过於繁琐,而且也养成盲目点击OAuth2登录流程的坏习惯,员工容易遭受钓鱼攻击。
  BuzzFeed自行开发了SSO来解决这个问题,现在使用者只要登录一次,就能够授权存取所有的应用程式。SSO由sso-auth以及sso-proxy两个部分组成,分别执行巢状授权流程以及代理请求,sso-auth是一个中央授权服务,可以直接透过第三方服务完成OAuth流程。sso-proxy则能确保所有请求都经过授权,才将使用者请求导至上游服务。
  用户第一次登入受SSO保护的网站时,会被转址到sso-auth进行认证,当用户存取另一个受SSO保护的网站时,浏览器会先被转址到sso-auth,由於身分已经过验证,便会进行自动登入,接着被导向sso-proxy。SSO不只让员工登入应用程式变得更容易,而且现在开发人员维护身分验证服务的安全性也更轻松,只需要修复一个地方就可以了。
【免责声明】本文仅代表作者本人观点,与CTI论坛无关。CTI论坛对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。

相关阅读:

专题