繁体   English   中英

如何使用联合SSO(SAML2)调用AtTask REST API

[英]How to call AtTask REST API with Federated SSO (SAML2)

我使用第三方IDP(ADFS)将Attask与SAML集成在一起。 我有我的Web应用程序,它也支持SAML并配置相同的IDP。 我能够在两个应用程序(Attask和我的应用程序)中使用IDP登录,并能够从我的应用程序和副verca访问Attask应用程序。

现在我必须从我的应用程序在Workfront中创建项目。 我可以使用rest API调用使用管理员用户名/密码创建项目。 但是当我在SSO的帮助下转到工作台页面时,我无法看到该项目。 因为此项目是使用管理员凭据创建的。 这是我需要解决的主要问题。

我必须在rest API的帮助下使用当前登录用户创建项目。

Attask是否支持Oauth令牌来访问API?

有谁能提出一些好的方法。 任何帮助将受到高度赞赏!

目前没有任何workfront API与Oauth一起使用。 要进行身份验证,您需要提供用户名/密码,sessionID或apiKey。 您最好的方法是添加逻辑以将用户设置为项目所有者。 这样项目就会出现。

在解决SSO问题时,我只是解决了您对用户创建项目(或任何对象)的担忧。 Workfront API中的许多对象将忽略传入的incomingBy或createdBy类型值。例如,如果我尝试将注释附加到项目并传递owner = 123 .. UID,它仍将设置所有者到API的经过身份验证的用户。 如果您使用的是API密钥,那么这将是您管理员的用户名。

要解决这个问题,您需要使用一个小技巧以您想要拥有该对象的用户身份登录。 事实证明,您可以向API传递用户名和API密钥而不是密码。 例如

http://idt.attask-ondemand.com/attask/api/v4.0/login?username=bob.jones@mysite.com&apiKey=6dd3je2u0tpt7lffjg3h6qnl3xzaabjq

这将返回与Bob Jones关联的会话ID。 现在,您使用该会话ID创建的任何对象都将来自Bob。 只需记住在执行任何其他操作之前以API的正确用户身份重新登录。

我使用此代码来编写其他用户的更新。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM