XMLHttpRequest был заблокирован политикой CORS: Ответ на запрос предварительной проверки не проходит проверку контроля доступа: не имеет HTTP-статуса ok - PullRequest
0 голосов
/ 28 марта 2020

У меня есть защищенная конечная точка в REST, где для получения информации требуется токен JWT. Я включил CORS для всего контроллера. Мне было интересно, что ошибка cors не возникает для всех незащищенных конечных точек.

@RestController
@RequestMapping("/api")
@CrossOrigin(origins = "*",allowedHeaders = "*")
public class CustomerDetailsRestController {

    @Autowired
    private CustomerDetailsService customerDetailsService;
    @Autowired
    private JwtRequestFilter jwtTokenFilter;

    @GetMapping("/userdetails")
    public CustomerSpecificDetails findCustomerDetails(){

        String userid=jwtTokenFilter.getUsername();
        System.out.println(userid);
        return customerDetailsService.getCustomerDetails(userid);

    }

}

, а мой angular сервис такой, как показано ниже.

@Injectable()
export class UserDetailsService {

  userDetailsUrl = 'http://localhost:8080/api/userdetails';

  constructor(private http: HttpClient) { }

  getUserDetails(): Observable<UserDetails> {

    const headerData = {
      'security': 'Basic ' + localStorage.getItem('token')

    };
    console.log(headerData.security); 
    const reqHeaders = new HttpHeaders(headerData);
    return this.http.get<UserDetails>(this.userDetailsUrl, {headers : reqHeaders});
  }
...