#reactjs #authentication
#reactjs #аутентификация
Вопрос:
В моем методе react fetch я вызвал API базовой аутентификации с именем пользователя и паролем, как показано ниже:
const username = '*******n';
const password = '***********lhW87A3mds';
componentDidMount () {
let headers = new Headers();
headers.set('Authorization', 'Basic ' base64.encode(username ":" password));
let that = this;
fetch(api.example.com , {
method: "GET",
headers: {
"Content-Type": "application/json"
},
credentials: "same-origin" })
.then(function(response) { return response.json(); })
.then(function(jsonData) {
return JSON.stringify(jsonData);
})
});
}
Он работает нормально, и я также получаю данные.
Но мой вопрос касается безопасности, как я могу защитить это username
и password
предотвратить от хакера; потому что на стороне клиента это имя пользователя и пароль полностью видны конечному пользователю. Просмотрите приведенное ниже изображение JS-данных на стороне клиента.
Комментарии:
1. Генерация токена должна выполняться со стороны сервера. Вам необходимо иметь конечную точку API для генерации токенов.
2. API, который я использую, является сторонним API, так как установить токен со стороны сервера?
3. Напишите API, который будет генерировать тот же токен, который вы генерируете в настоящее время JS. То есть
'Basic ' base64.encode(username ":" password)
.4. Я не могу изменить код API, так есть ли какой-нибудь способ в ReactJS для аутентификации …?