При запросе аутентификации Ax ios не удается отправить заголовок в Spring Boot - PullRequest
0 голосов
/ 08 марта 2020

Я пытаюсь реализовать авторизацию с Ax ios на RN-части и отправить токен в бэкэнд Spring Boot. Я пытался сделать это раньше с простой отправкой электронной почты и пароля в качестве параметров запроса GET, и это работало нормально, но теперь, когда я пытаюсь отправить basi c заголовки с помощью btoa в бэкэнд-часть, он продолжает получать нулевое значение. Моя собственная часть React:

  login(user) {   
  const headers = {
  authorization: 'Basic ' + btoa(user.email + ':' + user.password)
  };

return axios.get(API_URL + 'login', {headers: headers})
.then(response => {
console.log('function called')

И мой контроллер при загрузке Spring:

    @RequestMapping(value = {"/login"}, method = RequestMethod.GET)
public ResponseEntity<?> login(Principal principal) {
    if(principal == null){
        //logout will also use here so we should return ok http status.
        return (ResponseEntity<?>) ResponseEntity.badRequest();
    }
    UsernamePasswordAuthenticationToken authenticationToken =
            (UsernamePasswordAuthenticationToken) principal;

Когда я отлаживаю контроллер, я вижу, что мой принцип параметра метода получает ноль. Я предполагаю, что проблема может быть где-то в заголовке или параметре контроллера, но есть реальная идея.

1 Ответ

0 голосов
/ 08 марта 2020

Заголовки должны быть:

{
  headers: {
     "Authorization": "Basic "...
  }
}

В качестве альтернативы,

{
  auth: {
     username: "",
     password: ""
  }
}

Что добавит для вас базовый c auth заголовок

https://github.com/axios/axios#request -config для справки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...