Я делаю гм приложение, используя угловой 5 в качестве переднего конца и Ява с Джерси в качестве заднего конца.У меня проблема с аутентификацией, когда я пытаюсь потреблять с моего внешнего интерфейса.Это код клиентского приложения angular:
const headers = {
'Content-Type': 'application/json',
'Authorization': this.auth.token
};
return this.http.get(this.url, { headers: headers, withCredentials: true })
.toPromise()
.then(this.extractData)
.catch(this.handleErrorPromise);
Но, глядя на сгенерированный запрос, я не нашел заголовка «авторизация» на моем сервере.Там я получаю только:
хост: 100.0.66.160: 8092
соединение: keep-alive
прагма: no-cache
контроль кэша: no-cache
access-control-request-method: GET
origin: http://localhost:4200
user-agent: Mozilla / 5.0 (Windows NT 6.1; Win64; x64) AppleWebKit / 537.36 (KHTML, как Gecko) Chrome / 66.0.3359.181Safari / 537.36
заголовки запроса-контроля доступа: авторизация, тип контента
принять: * / *
принять кодирование: gzip, deflate
принять язык: pt-BR, pt;q = 0,9, en-US; q = 0,8, en; q = 0,7
Тогда я не нахожу "авторизацию" для проверки, кто-то может сказать мне, что там не так?
Выполнить код проверки на стороне сервера:
String authorizationHeader = requestContext.getHeaderString(HttpHeaders.AUTHORIZATION);
Autenticador autenticacao = new Autenticador();
String token;
extrairHeader(requestContext);
if (authorizationHeader != null && authorizationHeader.contains("Bearer ")) {
token = authorizationHeader.substring("Bearer ".length()).trim();
Key key = new KeyGenerator().generateKey();
return autenticacao.tokenValido(token, key);
} else {
return false;
}