当前位置: 首页 > 知识库问答 >
问题:

针对SAML IDP验证移动用户

阎咏思
2023-03-14

我正在寻找针对SAML IDP的-验证移动应用用户的解决方案,并且有一些基本的查询(我是SAML的新手,OAuth:))在这种情况下,流程可能就像移动用户将被IDP验证一样,即SAML响应由IDP生成的信息被发送到服务提供商(通过移动浏览器-Webview)。然后,服务提供商将创建一个令牌,该令牌将由移动应用用于后续调用。这种认识正确吗?

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

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

提前谢谢!

共有1个答案

袁翔
2023-03-14

是的,你的理解是正确的。为了在移动客户端上使用SAML IDP,您需要执行与普通客户端相同的过程(AuthnRequest)-

  • 您的移动应用程序将打开WebView,它将访问SP的公共URL
  • 您的SP通过使用AuthnRequest向SAML IDP发送重定向来启动IDP身份验证
  • 用户在IDP的UI中进行身份验证(当使用移动客户端打开时,该UI应该能够正确呈现给移动客户端)
  • IDP通过响应重定向回您的SP
  • SP应用程序处理响应并生成可用于Rest API的令牌
  • SP将令牌传回移动应用程序(例如,使用WebViewClient on PageFinished cookies,或调用addJavascriptInterface提供的对象,或您已经使用的任何东西)

与通常使用IDP进行的移动身份验证(例如在Facebook/Google上使用OAuth 2)相比,SAML更加复杂。在OAuth 2.0中,通过使用自定义URL方案,很容易提取授权令牌并截获响应,而不需要web部署(SP)组件。由于SAML不支持类似于Oauth中“隐式”的流(出于安全原因),并且由于SAML响应的处理要复杂得多(由于XML签名、XML加密等原因),使用SAML时,这种方法不可行。

 类似资料:
  • 问题内容: 我需要使用给定的XSD文件验证XML文件。我只需要如果验证正常就返回true,否则返回false的方法。 问题答案: 仅返回true或false(也不需要任何外部库):

  • 我的目标是读取CSV文件,将其转换为XML,并根据XSD对其进行验证。代码如下: 错误: 线程“main”组织中出现异常。阿帕奇。骆驼FailedToCreateRouteException:无法在以下位置创建路由1: 此外,我还想配置如果XML对给定的XSD无效,是否会发生异常。我们如何配置它? 请好心帮忙。

  • 请让我知道openapi请求验证程序nodejs库是否可以用于根据openapi 3规范yaml文件验证请求。我看了一下ExpressOpenAPI验证器,但我的应用程序不使用expressjs。我的服务是部署在aws中的lambda函数(nodejs)。

  • 我是XSD新手,不知道为什么我的XSD没有进行验证。我收到以下错误: s4s-elt-无效-内容.1:“参数信息”的内容无效。元素“复杂类型”无效、放错位置或出现过于频繁。 cvc复合型。2.4。d: 发现以元素“exception”开头的无效内容。此时不需要任何子元素。 XML: XSD: 我错过了什么吗?我想通过使用复杂类型并引用它们来分解它,从而使其更容易...

  • 我有一个servlet,它使用打包在.jar存档中的实用程序: 此实用工具获取xml文件流,针对xsd模式执行验证并解析它: xsd文件以: xml文件: Servlet Init方法抛出异常: 如何指定SAXParser在哪里需要xsd模式来验证xml文件? 附注。对不起,我的英语不好 UPD: 我正在尝试添加此属性: UPD2:在xml文件中使用“classpath:appcontext.xs

  • 我想要一个用于手机号码验证的正则表达式。regex模式必须只在开头接受,空格(或)只能在国家代码之后(仅一次)。国家代码后只允许有10位数字。国家代码应该是可选的。如果国家代码不存在,它应该只接受10位数字。Regex应该防止任何无效的数字,比如(或)。 正则表达式应该接受这样的数字 1 8087339090 91 8087339090 912 8087339090 8087339090 0808