我正在使用ionic来构建一个需要SAML身份验证的应用,是否有人对此主题有一些指导?
目前,我可以向我需要发送的API发送用户名和密码,然后返回SAML断言,但是我没有找到Ionic或Angular的解决方案来获取SAML令牌并登录网址响应以HTML格式发回。一旦我可以获取该数据,我将需要一种方法来解析xml以收集用户数据。我试过了: - 使用angular.element(document).find(“input [name ='SAMLResponse']”))按属性名称抓取每个元素 - 结果 - 找不到元素 - 使用xml2json解析SAML令牌响应并获取令牌和URL - RESULT - 返回的对象等于null
我感谢您提供的任何指导! THX!
样本回复:
<html>\r\n<HEAD><META HTTP-EQUIV='PRAGMA' CONTENT='NO-CACHE'>
<META HTTP-EQUIV='CACHE-CONTROL' CONTENT='NO-CACHE'><TITLE>SAML 2.0 Auto-POST form</TITLE></HEAD>\r\n <body onLoad=\"document.forms[0].submit()\">\r\n
<NOSCRIPT>Your browser does not support JavaScript. Please click the 'Continue' button below to proceed. <br><br></NOSCRIPT>\r\n
<form action=\"https://foobar.url.com/sso/verify/foobar\" method=\"POST\">\r\n<input type=\"hidden\"
name=\"SAMLResponse\" value=\"SAML ASSERTION\">\r\n
<NOSCRIPT><INPUT TYPE=\"SUBMIT\" VALUE=\"Continue\"></NOSCRIPT>\r\n
</form>\r\n </body>\r\n</html>\r\n
答案 0 :(得分:0)
我最终做的是从解析的xml中创建一个变量。该变量是一个JSON对象,我可以循环查找&#39; SAMLResponse&#39;以及我需要发送响应的URL。一旦你拥有了这两个,其他一切都是非常基础的。只需发送带有加密令牌的https请求作为数据,您就可以了!