根据SAML IDP对移动用户进行身份验证

我正在寻找一个解决方案 - 根据SAML IDP验证移动应用程序用户,并获得一些基本查询(我是SAML,OAuth的新手:))在这种情况下,流程可能像移动用户将通过身份验证IDP,由IDP生成的SAML响应会发送给服务提供商(通过移动浏览器 - Webview)。 然后,服务提供商将创建一个令牌,供移动应用程序用于后续呼叫。 这种理解是否正确?

此外,移动用户如何在IDP进行身份验证,我的意思是,相应的IDP是否应该支持移动应用程序? IDP的登录屏幕将在登录时显示在手机上?

在我的应用程序中,当前,移动(Rest API)用户通过数据库中的应用程序凭据进行身份验证。 但是现在桌面应用程序正在整合SAML进行身份验证。 因此,移动用户需要通过SAML IDP进行身份验证。

提前致谢!


是的,你的理解是正确的。 为了将SAML IDP用于移动客户端,您需要经过与普通客户端(AuthnRequest - > SP与IDP之间的响应交换)相同的过程。 整个流程可能如下所示:

  • 您的移动应用程序将打开访问您的SP的公共URL的WebView
  • 您的SP通过使用AuthnRequest将重定向发送到SAML IDP来开始使用IDP进行身份验证
  • 用户在IDP的用户界面内进行身份验证(当移动客户端使用移动客户端打开时,它应该能够正确呈现给移动客户端)
  • IDP通过响应重定向回您的SP
  • 您的SP应用程序处理Response并生成一个可用于Rest API的令牌
  • SP将令牌传回给移动应用程序(例如,使用WebViewClient + onPageFinished + cookie或调用addJavascriptInterface提供的对象,或者您已经使用的任何对象)
  • 与通常使用IDPs的移动身份验证相比(例如使用面向Facebook / Google的OAuth 2),SAML更为复杂。 使用OAuth 2.0,通过使用自定义URL方案可以轻松提取授权令牌和拦截响应,而无需Web部署(SP)组件。 由于SAML不支持与Oauth中的“隐式”类似的流(出于安全原因),并且由于SAML响应的处理更为复杂(由于XML签名,XML加密等),所以在使用此方法时不可行SAML。

    链接地址: http://www.djcxy.com/p/60109.html

    上一篇: Authenticating mobile users against SAML IDP

    下一篇: How to set passenger 5 config file on heroku