2

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

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

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

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

任何人都可以提出一些好的方法。任何帮助将不胜感激!!!

4

2 回答 2

2

目前,NO Workfront API 不适用于 Oauth。要进行身份验证,您需要提供用户名/密码、sessionID 或 apiKey。您最好的方法是添加逻辑以将用户设置为项目所有者。这样项目就会出现。

于 2015-04-14T15:51:39.140 回答
1

除了 SSO 的问题,我只是解决您对从用户创建项目(或任何对象)的担忧。Workfront API 中的许多对象将简单地忽略传入的 enterBy 或 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 用户身份重新登录。

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

于 2015-05-21T17:28:01.617 回答