我们拥有由 Kendo UI 和后端 .NET Web 服务构建的混合移动应用程序。所有来自 UI 的调用都是通过 ajax 进行的。现在我们需要将应用程序集成到 OKTA 中以进行用户身份验证,但不确定如何直接从 Web 服务调用中从 OKTA 获取 SAML 令牌。
我们已经使用 Windows 身份框架实现了从 Web 服务对 ADFS(主动端点)的调用以获取 SAML 令牌,并且它可以工作。
如果有人能分享经验或指出解决方案,将不胜感激!
您可以使用以下序列来获取 SAML 断言:
1)您可以使用/api/v1/authn建立获取sessiontoken。这将需要用户凭据。示例请求如下所示:
{
"username": "[email protected]",
"password": "myPa$$word",
"relayState": "/myapp/some/deep/link/i/want/to/return/to",
"options": {
"multiOptionalFactorEnroll": false,
"warnBeforePasswordExpired": false
}
}
响应将返回一个 sessionToken 值。
2)现在使用该值作为输入,您可以使用 /api/v1/sessions?additionalFields=cookieToken 返回 cookieToken
请求将如下所示:
{
"sessionToken": "1234123DGSABDaSDBasdbaasbdasdb-ABCDEAERasdlzxk"
}
响应将包含 cookieToken 值
3) 现在,您可以使用将触发 SAML 的应用程序 SSO URL - 并在末尾附加一次性 cookietoken 以获取 SAML 断言。如果您将此 URL 粘贴到浏览器中,它实际上会让您登录到启用 SAML 的应用程序。
示例 URL 为:
https://myorg.okta.com/home/salesforce/0oa31deg4ABCDEFGHIJ/46?onetimetoken=1234123DGSABDaSDBasdbaasbdasdb-ABCDEAErasdlzxk
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)