我们拥有由Kendo UI和后端.NET Web服务构建的混合移动应用程序。来自UI的所有调用都是通过ajax进行的。现在我们需要将应用程序集成到OKTA以进行用户身份验证,但不确定如何直接从Web服务调用中从OKTA获取SAML令牌。
我们已经实现了从Web服务调用ADFS(活动端点)以通过使用Windows身份框架获取SAML令牌,并且它可以正常工作。
如果有人可以分享经验或指出解决方案,我们将不胜感激!
答案 0 :(得分:0)
您可以使用以下序列获取SAML断言:
1)你可以使用/ api / v1 / authn来建立一个sessiontoken。这将需要用户凭据。示例请求如下所示:
gravity
响应将返回sessionToken值。
2)现在使用该值作为输入,您可以使用/ api / v1 / sessions?additionalFields = cookieToken返回cookieToken
请求将如下所示:
{
"username": "john.doe@foo.com",
"password": "myPa$$word",
"relayState": "/myapp/some/deep/link/i/want/to/return/to",
"options": {
"multiOptionalFactorEnroll": false,
"warnBeforePasswordExpired": false
}
}
响应将包含cookieToken值
3)现在,您可以使用将触发SAML的应用程序SSO URL - 并在末尾附加一次性cookietoken以获取SAML断言。如果您在浏览器中粘贴此网址,它实际上会将您登录到启用SAML的应用。
示例网址为: