实施SAML和传统身份验证

时间:2019-06-27 11:43:13

标签: php authentication saml saml-2.0

我很难与现有的传统身份验证系统一起找到有关SAML实施的指南。

我在CodeIgnitor中创建了一个SaaS应用程序,该应用程序具有典型的,运行正常的身份验证系统,该系统使用带有散列和加盐等内容的本地用户表。

我希望添加SAML SSO以吸引更多企业客户。但是我有一个问题,我的Google Fu在哪里短缺。

如何集成SAML身份验证,使其与我的传统本地身份验证一起工作?如果我的客户选择SAML,那么我将要求他们将现有的本地帐户绑定到其SAML联合身份。我该怎么做以满足我的非SAML用户?

我是否需要两个登录URL,例如我的SAML用户使用https://app.com/saml/login,非我的SAML用户使用https://app.com/login,仅希望客户选择正确的登录URL?或者,也许我先要求他们的电子邮件/用户名,然后要求他们提交该值以查看他们是否为SAML-并相应地路由它们?

1 个答案:

答案 0 :(得分:0)

您需要安装支持SAML的身份提供程序(IDP)。

您使用IDP发起的SAML配置文件。

您的应用。通过SAML堆栈连接到IDP。

其他企业然后可以与您的IDP联合,即通过SAML使用其凭据登录到您的网站。

由IDP发起的SAML配置文件提供了一个您提供给客户的URL,该URL会将其与他们的客户凭据一起发送到IDP,然后将其带到您的应用程序。

直接访问您网站的用户使用本地连接。

也就是说,宁愿使用OpenID Connect-更为简单,但原理相同。