I’ve just started using Postman to test an API I am integrating to.
I have the following error that keeps showing up
Invalid CORS request
Note the following:
- The API uses Bearer token authentication(OAuth2). I have this working without a problem.
- I do get the bearer token successfully, assign it to an Environment variable and then attempt to use it for the RESTful operations.
- The problem is in the subsequent RESTful operation that uses the token.
- When I use an old token (through a POST operation), it rightfully tells me that it is expired and not authorized.
- When I then generate a new one and try to run the restful call, it gives me that
Invalid CORS request
error. - Using cURL, I have no issues. But I am frustrated by Postman.
What I have found so far:
- Using postman with Http POST requests – I don’t get the part in bold
Just in case anybody else has this same problem, here is how to solve it. Go to https://www.getpostman.com/docs/capture in your chrome browser. Click on interceptor extension and then choose add to chrome. Once it is added there is a new icon top right of both the browser and postman that looks like a traffic light. In postman click this and it turns green. Then add a header to every request going to third light. Every header consists of the header name and a value. Start typing over the header name and a list of allowed http headers comes up. Choose “Origin”. In the cell for value simply type the full URL of your server. (Do not forget the ‘http://’ or ‘https://’).
- What is the expected response to an invalid CORS request? – Best explanation I have seen so far on CORS errors.
The other material speaks about Access-Control-Allow-Method header
, preflight requests
… and there is an illustrative Apache Tomcat flowchart of the CORS flow.