How to save access token from auth resource to use in query?

I'm stuck on this.

I'm authenticating to my REST API and getting an access token back. How do I save that token to be used in queries?

In my queries, I'm thinking that I'll do something like:

Here's my auth workflow:



Screenshot 2024-07-19 at 2.10.25 PM

Any pointers are appreciated.

Hello!

You don't need the curlies {{ }} in the variable being used in the resource headers.

Bearer {{ accessToken }} ==> Bearer accessToken should work.

Thanks for the reply!

When I do Bearer accessToken in the query, the API request shows:

{
  "request": {
    "url": removed,
    "method": "GET",
    "body": null,
    "headers": {
      "User-Agent": "Retool/2.0 (+https://docs.tryretool.com/docs/apis)",
      "Authentication": "Bearer accessToken",
    }
  },
  "response": {
    "data": {
      "detail": "Authentication credentials were not provided."
    },
  }
}

I reauth prior to running the query.

Update:

Should've been using Authorization instead of Authentication. I'm at least getting a different response from my API:

{
  "detail": "Given token not valid for any token type",
  "code": "token_not_valid",
  "messages": [
    {
      "token_class": "AccessToken",
      "token_type": "access",
      "message": "Token is invalid or expired"
    }
  ]
}

When I replace Bearer accessToken with the actual token, it runs fine - as expected. So still just the problem of passing the accessToken from the auth resource.

Can you show a screen shot of your re-authorization flow?

I am wondering if it is setting the same variable with the newly refreshed token response.

I haven't set up the re-authorization work flow yet.

If I had access to the refreshToken in the steps in my OP, it'd just be passing:

{
  "refresh": "{{ refreshToken }}"
}

and then setting accessToken to the new access token in the JSON response.

Edit: My comment about "I reauth..." is just clicking the Re-auth button in the query setup window.

Edit2: Had a typo in my header that happened after fixing the {{ }}

Refresh seems to be working, I set it up as described above...also without the {{ }}

Thank you!

1 Like