如何在Ionic App中处理SAML身份验证?

时间:2016-08-13 13:22:04

标签: xml authentication ionic-framework single-sign-on saml

我正在使用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

1 个答案:

答案 0 :(得分:0)

我最终做的是从解析的xml中创建一个变量。该变量是一个JSON对象,我可以循环查找&#39; SAMLResponse&#39;以及我需要发送响应的URL。一旦你拥有了这两个,其他一切都是非常基础的。只需发送带有加密令牌的https请求作为数据,您就可以了!