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

BuzzFeed开源SSO认证代理,为多网站提供单一登入服务
2018年09月20日 10:36 可待科技资讯

媒体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不只让员工登入应用程式变得更容易,而且现在开发人员维护身份验证服务的安全性也更轻松,只需要修复一个地方就可以了。

财经自媒体联盟更多自媒体作者

新浪首页 语音播报 相关新闻 返回顶部