На вкладке «Сеть» отображается заголовок, но невозможно получить его во внешнем интерфейсе (Next js)
введите здесь описание изображения
Но когда я Я консолью заголовки ответов, а затем отображается эта штука.
введите здесь описание изображения
Вот мой код интерфейса (Next js)
try {
var path = process.env.NEXT_PUBLIC_BASE_PATH;
const response = await axios.post(
`${path}/api/User/login`,
{
email: values.loginUsername,
password: values.loginPassword,
},
{
headers: {
'Content-Type': 'application/json',
},
withCredentials: true,
}
);
console.log('---responseHeader----', JSON.stringify(response.headers, null, 2));
// Get the authorization header from the response
const authorizationHeader = response.headers['authorization'] || response.headers['Authorization'];
console.log("Authorization header:", authorizationHeader);
// Extract the token from the authorization header
if (authorizationHeader) {
const token = authorizationHeader.split('Bearer ')[1];
localStorage.setItem('authToken', token);
}
// Extract the role from the response data and set it in local storage
const userData = response.data;
if (userData.role) {
localStorage.setItem('userRole', userData.role);
}
// Optionally, perform any action after successful POST
router.push('/');
} catch (error) {
if (axios.isAxiosError(error) && error.response) {
formik.setFieldError('loginPassword', 'Username and password do not match.');
console.error('Error:', error.response.statusText);
} else {
formik.setFieldError('loginPassword', 'Username and password do not match.');
}
}
вот файл моего серверного кода (.yaml)
` nginx.ingress.kubernetes.io/auth-response-headers: "Authorization"
nginx.ingress.kubernetes.io/cors-allow-headers: "Content-Type, Authorization"
nginx.ingress.kubernetes.io/cors-allow-origin: "url"
nginx.ingress.kubernetes.io/enable-cors: "true"
nginx.ingress.kubernetes.io/cors-allow-credentials: "true"`
А вот конфигурация cors в C# .NET
`app.UseCors(options =>
{
options.WithOrigins(corsSettings.BackendUrl, corsSettings.FrontendUrl);
options.AllowAnyMethod();
options.AllowAnyHeader();
options.WithExposedHeaders("Authorization");
});`
Подробнее здесь: https://stackoverflow.com/questions/787 ... se-headers
Как получить значение ключа авторизации из заголовков ответа ⇐ C#
Место общения программистов C#
-
Anonymous
1721662686
Anonymous
На вкладке «Сеть» отображается заголовок, но невозможно получить его во внешнем интерфейсе (Next js)
введите здесь описание изображения
Но когда я Я консолью заголовки ответов, а затем отображается эта штука.
введите здесь описание изображения
Вот мой код интерфейса (Next js)
try {
var path = process.env.NEXT_PUBLIC_BASE_PATH;
const response = await axios.post(
`${path}/api/User/login`,
{
email: values.loginUsername,
password: values.loginPassword,
},
{
headers: {
'Content-Type': 'application/json',
},
withCredentials: true,
}
);
console.log('---responseHeader----', JSON.stringify(response.headers, null, 2));
// Get the authorization header from the response
const authorizationHeader = response.headers['authorization'] || response.headers['Authorization'];
console.log("Authorization header:", authorizationHeader);
// Extract the token from the authorization header
if (authorizationHeader) {
const token = authorizationHeader.split('Bearer ')[1];
localStorage.setItem('authToken', token);
}
// Extract the role from the response data and set it in local storage
const userData = response.data;
if (userData.role) {
localStorage.setItem('userRole', userData.role);
}
// Optionally, perform any action after successful POST
router.push('/');
} catch (error) {
if (axios.isAxiosError(error) && error.response) {
formik.setFieldError('loginPassword', 'Username and password do not match.');
console.error('Error:', error.response.statusText);
} else {
formik.setFieldError('loginPassword', 'Username and password do not match.');
}
}
вот файл моего серверного кода (.yaml)
` nginx.ingress.kubernetes.io/auth-response-headers: "Authorization"
nginx.ingress.kubernetes.io/cors-allow-headers: "Content-Type, Authorization"
nginx.ingress.kubernetes.io/cors-allow-origin: "url"
nginx.ingress.kubernetes.io/enable-cors: "true"
nginx.ingress.kubernetes.io/cors-allow-credentials: "true"`
А вот конфигурация cors в C# .NET
`app.UseCors(options =>
{
options.WithOrigins(corsSettings.BackendUrl, corsSettings.FrontendUrl);
options.AllowAnyMethod();
options.AllowAnyHeader();
options.WithExposedHeaders("Authorization");
});`
Подробнее здесь: [url]https://stackoverflow.com/questions/78779594/how-to-get-the-authorization-key-value-from-the-response-headers[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия