Hi, I was just to explore the OAuth connection here by following this guide
but I am using machine to machine communication which only needs to Client Id and Client Secret to get the auth token and then call the main api end point to get the data…Now here in Tape, you have to follow this guide Create an OAuth 2.0 Connection | Tape Help Center
where all fields are necessay and in my case the Authorisation URL and Redirect URL are not required. So any way I can call this without using these? I tried to call Oauth with simple HTTP but the URL(https://edh-core-api-auth.edh.aws-gafg.com/oauth2/token) is not being recognised for OAuth call
oAuth2 is an industry standard that comes with expected parameters and behaviours.
A server expects a client ID and a client secret, and there needs to be a URL for fetching authorization (which normally provides a code), this URL would redirect the user back to a redirect URL that takes that code from the URL parameters and calls an access token URL to exchange it for access and refresh tokens. So that’s a client ID, client secret, Authorization URL, Redirect URL and Access Token URL. That’s how oAuth2 is supposed to work, and anything else that’s not following this procedure is something completely different.
I’m not sure I fully understand your request, but if you say all you have is a Client ID and a Client Secret, and there’s a URL somewhere within your infrastructure that you can just call with Client ID and Client Secret to get a Bearer token, then you don’t need Tape’s oAuth2 integration at all. You simply have to make that call for a token every time you need to make an API call. This would be totally fine, the only negative is that you would have to call for an access token every time you needed the API, but if I understand your explanation correctly, it sounds like this is how the API is meant to work.
There’s lots of APIs on the planet that work just slightly differently than oAuth2 is supposed to work and it causes lots of issues. Take the Sharefile API for example. The Sharefile API wants you to supply your domain indicator (all Sharefile accounts have a subdomain, for instance, mine is syncrony.sharefile.com) when fetching an access token. This is NOT how oAuth2 is supposed to work and has caused issues with oAuth2 integration tools in the past. This is why Procfu had to specifically create a set of functions for Sharefile, to work around this problem. It’s 90% oAuth2… but oAuth is supposed to be a STANDARD, just like REST.
So, in summary, either your API is pretending to be oAuth2 when it’s really not, or there’s something missing from your understanding on how to actually integrate with the API. Is there more comprehensive documentation available somewhere?
Thanks @andrew.cranston for sucha a detailed informative response…I understood now and when talked with support for the relevant service they said their API work Machine 2 Machine where only client Id and client secret. I was getting the Url error i.e. the API was not recognizing the Tape servers so I have to share that with support to add them in white listed IPs…Once added, I now can call their API…
Hi @andrew.cranston, I am using the Global Atlantic API to get the information but not getting it work properly…They have the OAuth setup with Machine to Machine,so can not use directly the OAuth in flow. Now when called, HTTP request returns Success but does not return body in response…When talked to their support, they said they received the call and sent the response and call is Success here in Tape but not getting why response isn’t showing…
So it could be the issue on Tape’s end to handle this differently?
Unfortunately, I would need to see clear and comprehensive documentation from the API to assist further. If you have said documentation, feel free to post here or to private message me. At first glance, it looks like you’re trying to call /oauth/token with parameters that would normally go to something like /oauth/authorize. What I’m looking at doesn’t make much sense, which is why I’d need to see the documentation.