Charnjeet Singh
Charnjeet Singh

Reputation: 3107

Spring Security with oAuth2 CORS issue on spring boot

I am new to spring boot. I have implemented Spring Security with oAuth2 and get acesstoken successfully from spring Security. But when I try to request with token with "Authorization" header..

config.headers["Authorization"] = 'Bearer 0d634d2b-3900-4ca4-a462-cf729e8d0c72';

and my CORS filter is as :

@Component
@Order(Ordered.HIGHEST_PRECEDENCE)
public class RequestFilter implements Filter {

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
    }

    @Override
    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {

            HttpServletResponse response = (HttpServletResponse) res;
            HttpServletRequest request = (HttpServletRequest) req;
            response.setHeader("Access-Control-Allow-Origin", "*");
            response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT,DELETE");
            response.setHeader("Access-Control-Max-Age", "3600");
            if (request.getMethod()!="OPTIONS") {
                chain.doFilter(req, res);
            } else {
            }
    }

    @Override
    public void destroy() {
    }
}

But still it given CORS issue.

Please help me where I am wrong.

Upvotes: 2

Views: 2600

Answers (2)

Charnjeet Singh
Charnjeet Singh

Reputation: 3107

Problem solve. I have send token as wrong way

config.headers["Authorization"] = 'Bearer 0d634d2b-3900-4ca4-a462-cf729e8d0c72';

right way is:

config.headers.authorization = 'Bearer 0d634d2b-3900-4ca4-a462-cf729e8d0c72';

Upvotes: 2

Jannik Weichert
Jannik Weichert

Reputation: 1673

Try to set your Access-Control-Allow-Headers like this:

response.setHeader("Access-Control-Allow-Headers", "X-Requested-With, Authorization, Content-Type");

Upvotes: 0

Related Questions