如何使用 SAML 从 Attask (Workfront) 终止用户会话?
How to terminate user session from Attask (Workfront) using SAML?
我已使用 SAML2 将 Workfront 与我的应用程序集成。我可以使用 IDP (ADFS) 登录我的系统,并且可以借助 SAML 令牌轻松访问 Workfront。如果我的应用程序中已经存在用户会话,则无需传递任何凭据或访问 IDP 页面。
我正在使用 href link 从我的应用程序访问 Workfront,因为 WF 启用了跨源资源共享 (CORS),所以我无法嵌入到我的应用程序中。
现在我想使用全局注销从我的应用程序和 Workfront 注销,这也将终止从 IDP 登录的用户会话。但是我无法从我的应用程序的客户端代码为 SAML 调用 Workfront logout URL。
谁能帮我从 Workfront 应用程序中终止用户会话?
要启动注销,您需要在 workfront 的 SSO 设置页面中定义注销 url。这通常会指向用于 SAML 的全局注销页面。如果您是管理员(并启用了管理员例外)或只允许在您的用户配置文件中取消选中 saml2 身份验证,您将被重定向到正常的 workfront 登录屏幕。
我用https://domain.attask-ondemand.com/logout
这个url解决了上面的问题。现在,用户也可以通过从我的 SP 中点击给定的 url 来从 IDP 和 SP(WF) 全局注销。但是,由于 CORS,无法从域外访问此 URL,因此我在新的 iframe 中打开了此 link。使用下面的代码从 WF 注销。
iframe = document.createElement('iframe');
iframe.id = "hiddenWFlogout";
iframe.style.display = 'none';
iframe.src = 'https://domain.attask-ondemand.com/logout';
document.body.appendChild(iframe);
我已使用 SAML2 将 Workfront 与我的应用程序集成。我可以使用 IDP (ADFS) 登录我的系统,并且可以借助 SAML 令牌轻松访问 Workfront。如果我的应用程序中已经存在用户会话,则无需传递任何凭据或访问 IDP 页面。
我正在使用 href link 从我的应用程序访问 Workfront,因为 WF 启用了跨源资源共享 (CORS),所以我无法嵌入到我的应用程序中。
现在我想使用全局注销从我的应用程序和 Workfront 注销,这也将终止从 IDP 登录的用户会话。但是我无法从我的应用程序的客户端代码为 SAML 调用 Workfront logout URL。
谁能帮我从 Workfront 应用程序中终止用户会话?
要启动注销,您需要在 workfront 的 SSO 设置页面中定义注销 url。这通常会指向用于 SAML 的全局注销页面。如果您是管理员(并启用了管理员例外)或只允许在您的用户配置文件中取消选中 saml2 身份验证,您将被重定向到正常的 workfront 登录屏幕。
我用https://domain.attask-ondemand.com/logout
这个url解决了上面的问题。现在,用户也可以通过从我的 SP 中点击给定的 url 来从 IDP 和 SP(WF) 全局注销。但是,由于 CORS,无法从域外访问此 URL,因此我在新的 iframe 中打开了此 link。使用下面的代码从 WF 注销。
iframe = document.createElement('iframe');
iframe.id = "hiddenWFlogout";
iframe.style.display = 'none';
iframe.src = 'https://domain.attask-ondemand.com/logout';
document.body.appendChild(iframe);