sso
更多信息请见我们的 发布博文!
请参加 SSO 社区调查,让我们了解我们的工作情况,并帮助我们规划我们的路线图!
sso -- 被亲切地称为 S.S. Octopus 或 octoboi -- 是 BuzzFeed 开发的认证和授权系统,为访问我们员工使用的许多内部网络应用提供安全的单点登录体验。
它依赖于谷歌作为其权威的 OAuth2 provider,并根据特定的电子邮件域对用户进行认证。基于谷歌集团成员资格的进一步授权可以在每个上游的基础上要求。
sso 的主要思想是一个 "double OAuth2" 流程,其中 sso-auth 是 sso-proxy 的 OAuth2 提供者,Google 是 sso-auth 的 OAuth2 提供者。
sso 是建立在 Bitly 的开源 oauth2_proxy 之上的。
简而言之:
- 如果用户访问一个受 sso-proxy 保护的服务(foo.sso.example.com)并且没有会话 cookie,他们会被重定向到 sso-auth(sso-auth.example.com)。
- 如果用户没有 sso-auth 的会话 cookie,他们会被提示通过通常的 Google OAuth2 流程登录,然后被重定向到 sso-proxy,在那里他们现在将被登录(到foo.sso.example.com)。
- 如果用户有 sso-auth 的会话 cookie(例如,他们已经登录到 bar.sso.example.com),他们会被透明地重定向到代理,在那里他们将被登录,而不需要通过谷歌 OAuth2 流程
- sso-proxy 通过 sso-auth 透明地重新验证和刷新用户的会话
安装
- Prebuilt binary releases
- Docker
go get github.com/buzzfeed/sso/cmd/...
快速启动
遵循我们的 快速入门指南,启动 sso 的本地部署,以感受它是如何工作的!
行为准则
帮助我们保持 sso 的开放性和包容性。请阅读并遵守我们的《行为准则》。
贡献
我们欢迎对 sso 的贡献! 请遵循我们的 贡献指南。
问题
请将你发现的任何问题提交到我们的 问题跟踪器。
安全漏洞
如果你发现 sso repo 或软件有任何安全漏洞,请发邮件到 security@buzzfeed.com。在您的电子邮件中,请请求访问我们的 漏洞赏金计划,以便我们可以为报告的任何有效问题提供补偿。
维护者
sso 由 BuzzFeed 基础设施团队积极维护。
值得注意的分叉
pomerium 一个身份访问代理,灵感来自 BeyondCorp。
(The first version translated by vz on 2021.09.25)