saml用设计回拨网址

时间:2016-04-17 14:11:26

标签: ruby-on-rails devise saml

我必须通过saml或数据库凭据对用户进行身份验证,具体取决于用户希望如何进行身份验证。 我遇到两个问题 1)我收到了对回叫网址的saml响应。我不确定如何将其与设计相结合 2)我不确定如何根据用户选择动态地通过数据库或saml响应来验证用户。

任何建议都会非常有用

2 个答案:

答案 0 :(得分:0)

您必须使用WebView将登录页面嵌入到应用程序中。

  1. 如果用户选择数据库登录,则必须质疑用户提交其用户名和密码。一旦用户通过您的API识别出来,您的业务逻辑就会被启动。

  2. 如果用户选择SAML登录,则它将是联合登录,您将Authen请求发送到Idp。 Idp页面将在您的应用程序中的WebView中呈现。一旦Idp在登录过程之后识别用户,他们会将页面重定向到您在Authen请求中为AssertionConsumerService属性指定的URL。您必须拦截请求以提取您最终必须在您的环境中的API服务中提交的SAML令牌。 API服务必须执行令牌处理,并将生成与数据库身份验证生成的用户配置文件相同的用户配置文件。

答案 1 :(得分:0)

我最近在我的应用程序中使用Devise实现了SAML,并发现omniauth-saml gem是使它工作的最快途径。它将处理您的回调流程,ruby-saml库的使用以及您自己实施的所有其他细节。如果您需要处理任意数量的SAML提供程序,omniauth-multi-provider-saml对我来说效果很好。