import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
asana: {
type: "app",
app: "asana",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://app.asana.com/api/1.0/users/me`,
headers: {
Authorization: `Bearer ${this.asana.$auth.oauth_access_token}`,
},
})
},
})
Asana uses OAuth authentication. When you connect your Asana account, Pipedream will open a popup window where you can sign into Asana and grant Pipedream permission to connect to your account. Pipedream securely stores and automatically refreshes the OAuth tokens so you can easily authenticate any Asana API.
Pipedream requests the following authorization scopes when you connect your account:
GET
https://app.asana.com/-/oauth_authorize
?
client_id={{oauth.client_id}}
&
state={{oauth.state}}
&
redirect_uri={{oauth.redirect_uri}}
&
response_type=code
&
scope={{oauth.space_separated_scopes}}
POST
https://app.asana.com/-/oauth_token
content-type: application/x-www-form-urlencoded
accept: application/json
client_id={{oauth.client_id}}
&
client_secret={{oauth.client_secret}}
&
grant_type=authorization_code
&
code={{oauth.code}}
&
redirect_uri={{oauth.redirect_uri}}
POST
https://app.asana.com/-/oauth_token
content-type: application/x-www-form-urlencoded
accept: application/json
client_id={{oauth.client_id}}
&
client_secret={{oauth.client_secret}}
&
grant_type=refresh_token
&
refresh_token={{oauth.refresh_token}}