Как защитить пароль метода базовой аутентификации со стороны клиента?

#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 для аутентификации …?