Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Given "User using credentials of type OAuth 2.0", when "the access token is expired", then "get new token automatically" #37

Open
muhammad-levi opened this issue Apr 11, 2022 · 0 comments

Comments

@muhammad-levi
Copy link

muhammad-levi commented Apr 11, 2022

(I don't know if this is the correct place to put this concerns of mine, and if the proposed solution is good enough or not)

If I use credentials of type OAuth 2.0 in the Credentials page of https://openfn.org, then I will get accessToken as part of the state.configuration. But, if the accessToken expires, then I would no longer be able to use it for accessing protected resources. (unless I delete the expired Credentials and add new Credentials with the same information, redo all the previous steps for getting the token)

I think it might be best in OpenFn.org use the client_credentials grant type in the Credentials of type OAuth 2.0, then also add mechanism if the time has passed for the same seconds as expiresIn since the token issuance OR if when make HTTP request to API path and the response is telling that the access token is expired, then automatically get new access token by using the same information for getting the access token with client_credentials grant. (maybe put maximum retries of 3 for the getting new token phase, if cannot get new token then abort)

What do you think? Am I understanding them correctly? Is that a good way to approach the issue?

Might be useful references:
https://developers.google.com/identity/protocols/oauth2
https://stackoverflow.com/a/43349958
https://cloud.google.com/apigee/docs/api-platform/security/oauth/oauth-20-client-credentials-grant-type

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant