введите здесь описание изображения
Но при проверке внутри разработчика инструменты в "Сеть" токен есть в поле Авторизация в заголовке
введите описание изображения сюда
Кто-нибудь знает, что это может быть? Я внес несколько изменений, например, позже использовал только redux в сочетании с axios, но безуспешно.
Мой store.js
Код: Выделить всё
import { AuthReducer } from "../Auth/Reducer";
import { combineReducers, configureStore } from "@reduxjs/toolkit";
import logger from "redux-logger";
const rootReducers = combineReducers({
auth: AuthReducer,
});
export const store = configureStore({
reducer: rootReducers,
middleware: (getDefaultMiddleware) => getDefaultMiddleware().concat(logger),
});
Код: Выделить всё
import axios from "axios";
const ROOT_URL = "http://localhost:8080";
export const signinAction = (data) => async (dispatch) => {
try {
const response = await axios.get(`${ROOT_URL}/signin`, {
headers: {
Accept: "application/json",
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
Authorization: "Basic " + btoa(data.email + ":" + data.password),
},
});
if (response.status === 200) {
const authorizationHeader = response.headers.authorization;
console.log(authorizationHeader);
} else {
throw new Error("Falha ao fazer login");
}
} catch (error) {
console.error("Erro:", error.message);
}
};
Код: Выделить всё
import { SIGN_IN, SIGN_UP } from "./ActionType";
const initialValue = {
signup: null,
signin: null,
};
export const AuthReducer = (store = initialValue, { type, payload }) => {
if (type === SIGN_IN) {
return { ...store, signin: payload };
} else if (type === SIGN_UP) {
return { ...store, signup: payload };
}
return store;
};
Код: Выделить всё
const dispatch = useDispatch();
const handleSubmit = (values, actions) => {
dispatch(signinAction(values));
actions.setSubmitting(false);
};
Код: Выделить всё
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain filterChain) throws IOException, ServletException {
HttpServletResponse response = (HttpServletResponse) res;
HttpServletRequest request = (HttpServletRequest) req;
Map map = new HashMap();
String originHeader = request.getHeader("origin");
response.setHeader("Access-Control-Allow-Origin", originHeader);
response.setHeader("Access-Control-Allow-Methods", "POST, GET, PUT, DELETE, OPTIONS");
response.setHeader("Access-Control-Max-Age", "3000");
response.setHeader("Access-Control-Allow-Headers", "*");
if ("OPTIONS".equalsIgnoreCase(request.getMethod())){
response.setStatus(HttpServletResponse.SC_OK);
} else {
filterChain.doFilter(req, res);
}
}
Код: Выделить всё
@GetMapping("/signin")
public ResponseEntity signInHandler(Authentication auth) throws BadCredentialsException {
Optional optionalUser = userRepository.findByEmail(auth.getName());
if (optionalUser.isPresent()) {
return new ResponseEntity(optionalUser.get(), HttpStatus.OK);
}
throw new BadCredentialsException("Invalid username or password");
}
Подробнее здесь: https://stackoverflow.com/questions/784 ... rization-f