как angular конфликт приложений или обмен учетными данными - PullRequest
0 голосов
/ 28 января 2020

У меня есть страница входа в систему с Angular 8 и я использую node js в качестве бэкэнда. Когда два клиента пытаются войти в систему одновременно, один из учетных данных двух пользователей отправляется в API, и оба пользователя входят в систему как один и тот же пользователь.

нижеуказанная функция вызывает API и возвращает обещание;

async login(credentials) {
return new Promise(async (resolve, reject) => {
  const user_ = {
    username: credentials.loginName,
    password: credentials.password
  };
  await this.http.post(cons.baseUrl + '/auth', user_).toPromise().then(response => {
    const result = response;
    if (result && result['token']) {
      localStorage.setItem('currentuser', result['token']);
      const user = this.helper.get_user_from_token();
      if (user.username === localStorage.getItem('user') && environment.production) {
        localStorage.removeItem('user');
        resolve(user);
      } else if (!environment.production) { // impersonate user at dev.
         resolve(user);
       } else {
        localStorage.clear();
        reject(null);
      }
    } else {
      reject(null);
    }
  }).catch(error => {
    reject(error);
  });
}).catch(error => {
  reject(error);
});

}

указанная выше функция вызывается как щелчок по нажатию кнопки;

localStorage.setItem('user', f.value.loginName);
await this.auth.login(f.value).then((res: User) => {.... some code}).cat....;

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

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