我正在家中构建一个自托管的Web服务器,以便更好地控制我的数据。这最终将用作小型创业公司的开发服务器的模板。我们的想法是让Nextcloud用于数据大容量存储,GitLab用于版本控制和团队协作,最后是Wordpress用于网站。我正在研究可能的SSO配置,以便朋友/家人/同事不需要登录每个应用程序。这将由SAML或OpenID完成。
从我能看到的情况来看,我可以有两种不同的配置;
答案 0 :(得分:0)
我将从WSO2 Identity Server的角度回答此问题。
如果您的意思是说“仅企业”,则WSO2 Identity Server是完全开源的,并且完全免费使用。或者,如果您的意思是“仅用于企业用例”,那么我可以说WSO2 Identity Server也可以用于简单的最小用例的相当简单的用例中。对于内部数据库和LDAP,Identity Server当前(当前可用的最新版本是5.7.0)的内存占用小于1GB(您也可以指向外部)。
在您的用例中,WSO2 Identity Server可以充当IDP并执行用户管理。并且它还可以促进GitLab和/或WordPress的联盟登录(将联盟用户与内部用户相关联,向联盟用户提供内部用户存储也是一些可用的功能。)。通过拥有自己的IDP,可以为您提供用户管理功能(如果需要)。但是,通过联合您可以将其放松(淡褐色)。
通过将WSO2 Identity Server作为IDP,您可以对具有多个受支持协议(SAML,OIDC等)的Web应用程序进行SSO。您也可以在其中使用SSO。
同样,这取决于您的用例。如果您只需要登录,并且既不需要用户管理,也不需要处理不同的协议,也不需要任何其他身份用例,并且不希望将来再使用它们,那么最好使用简单的IDP进行联合登录。但是,如果您认为您可能有其中一些用例,那么(可能在将来)更好地托管自己的IDP。
答案 1 :(得分:0)
我强烈认为SimpleSAMLphp或Shibboleth是您的身份提供者。
开箱即用的SimpleSAMLphp(SSP)充当SAML 2.0服务提供程序(SP),并具有正确的身份验证源,充当SAML 2.0身份提供程序(IdP)。与Shibboleth之类的东西(Gluu的IdP组件基于Shibboleth)相比,SimepleSAMLphp的配置非常容易,并且很容易设置以与Wordpress和GitLab集成。 SP组件可让您直接保护该服务器上的Web资源。
根据用户管理的需要,您可以使用诸如MySQL数据库之类的简单信息以及用户信息和属性,也可以将OpenLDAP与SSP一起推出。我还部署了一个基于Drupal的身份提供程序解决方案,以及几个模块(一个用于Drupal,drupalauth4ssp,一个用于SSP,drupalauth),该模块允许Drupal用户表充当身份验证源SSP,即用户可以登录并在Drupal中更改其用户密码,然后使用该新密码通过SSP向另一个服务提供商进行身份验证。您也许可以找到适用于WordPress的模块,该模块可以使您达到类似的目的,尽管我敢打赌这是一个付费模块。
最后,Gluu作为一个IdP实际上只是一个主题为LDAP的用户管理器Shibboleth IdP + OpenLDAP,您可以轻松使用诸如phpLDAPadmin之类的东西。如果您希望将其构建为启动模板,则可以将其作为身份服务器的配置。 Shibboleth是SAML世界中的标准载体,OpenLDAP是一个强大的目录服务。 Shibboleth依赖XML配置文件,配置起来有些麻烦。 OpenLDAP的配置也有些麻烦。但是,我认为您将通过这些对目录结构和SSO有了更好的了解,这可能对您长期有益。 Shibboleth + OpenLDAP堆栈在更高版本的部署和企业部署中都经常使用,因此如果需要,您可以从第1天起成为企业级。