我正在寻找一种解决方案 - 针对 SAML IDP 对移动应用用户进行身份验证,并且有一些基本查询(我是 SAML、OAuth 的新手 :))
在这种情况下,流程可能就像移动用户将通过 IDP 进行身份验证,IDP 生成的 SAML 响应被发送到服务提供商(通过移动浏览器 - Webview)。然后,服务提供商将创建一个 token ,移动应用程序将使用该 token 进行后续调用。这种理解正确吗?
另外,移动用户将如何在 IDP 进行身份验证,我的意思是,相应的 IDP 是否应该支持移动应用程序?登录时会在手机上看到 IDP 的登录屏幕吗?
在我的应用程序中,目前,移动(Rest API)用户根据其应用程序在数据库中的凭据进行身份验证。但现在桌面应用程序正在结合 SAML 进行身份验证。因此移动用户需要针对 SAML IDP 进行身份验证。
提前致谢!
最佳答案
是的,你的理解是正确的。为了在移动客户端上使用 SAML IDP,您需要经历与普通客户端相同的过程(AuthnRequest -> SP 和 IDP 之间的响应交换)。整个流程可能如下所示:
与 IDP 的通常移动身份验证(例如 Facebook/Google 使用 OAuth 2)相比,SAML 更加复杂。使用 OAuth 2.0,可以轻松提取授权 token 并使用自定义 URL 方案拦截响应,而无需 Web 部署 (SP) 组件。由于 SAML 不支持类似于 Oauth 中“隐式”的流(出于安全原因),并且因为 SAML 响应的处理要复杂得多(由于 XML 签名、XML 加密等),因此这种方法在使用时不可行萨姆勒。
关于restful-authentication - 针对 SAML IDP 对移动用户进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23623200/