我正在寻找一个解决方案 - 针对SAML IDP对移动应用用户进行身份验证,并获得了一些基本查询(我是SAML,OAuth的新手:)) 在这种情况下,流程可能类似于移动用户将由IDP进行身份验证,IDP生成的SAML响应将发送到服务提供商(通过移动浏览器 - Webview)。然后,服务提供商将创建一个令牌,移动应用程序将使用该令牌进行后续呼叫。这种理解是否正确?
此外,如果相应的IDP应该支持移动应用,移动用户将如何在IDP进行身份验证?登录时会在手机上看到IDP的登录界面吗?
在我的应用程序中,目前,移动(Rest API)用户根据其应用程序在数据库中的凭据进行身份验证。但现在桌面应用程序正在整合SAML进行身份验证。因此,移动用户需要针对SAML IDP进行身份验证。
提前致谢!
答案 0 :(得分:27)
是的,您的理解是正确的。要在移动客户端上使用SAML IDP,您需要经历与普通客户端相同的过程(AuthnRequest - > SP和IDP之间的响应交换)。整个流程可能如下所示:
与通常使用IDP的移动身份验证(例如使用OAuth 2 for Facebook / Google)相比,SAML更复杂。使用OAuth 2.0,可以使用自定义URL方案轻松提取授权令牌和拦截响应,而无需Web部署(SP)组件。由于SAML不支持类似于"隐含"在Oauth中(出于安全原因)并且由于SAML响应的处理要复杂得多(由于XML签名,XML加密......),因此在使用SAML时这种方法是不可行的。