@dikyzz

В safari на ipad в истории просмотров видно введенные пароли. Как исправить?

Когда авторизуюсь на своем сайте, в истории просмотров на сафари в url адресе видно параметры заполненной формы: логин и пароль. Из-за чего такое может быть?
5dc3d71d7ebd1698679717.png

В более новых устройствах на том же сафари уже нет такой проблемы, на андройдах тоже нормально.
ios 9.0.2

Код:
1. Сабмит формы
function onSubmit(data: UserData) {
    setErrorMessage('');
    setError(false);

    if(!validatePhone(data.username)) {
      setPhoneError(true)
      return false;
    }
    else{
      data.username = data.country_code + data.username.replace(/[^0-9]/g, '');
      setPhoneError(false)
    }

    AuthService.login(data as UserData).then(async token => {
      await AuthService.auth(token);
      store.dispatch(addFeedNotifications([{type: 'success', title: 'Вход успешно выполнен!', text: ''}]))
      if (redirectBack) Router.back();
      else redirect('/');
    }).catch(() => {
      store.dispatch(addFeedNotifications([{type: 'error', title: 'Ошибка!', text: 'Неверно введен логин или пароль.'}]))
    });
  }


2. Логин
static async login(data: GetTokenData) {
    const res = await post<GetTokenSuccess>('/api/login/', data);
    return res.data.token;
  }


3. Авторизация и получение инфы о юзере по токену
static async auth(token?: string) {
    if (!Axios.defaults.headers.Authorization && !token) return;

    if (token) {
      setCookie('authtoken', token);
      Axios.defaults.headers.Authorization = `Token ${token}`;
      this.getUserData();
    }

    let currentUser = store.getState().user.currentUser;
    if(!currentUser) {
      store.dispatch(requestUser());
      return await get<User>('/api/socialnetwork/auth/').then(async res => {
        const user = res.data;
        store.dispatch(receiveUser(user));
        store.dispatch(receiveUsers([user]));

        await this.getUserData();
        return user;
      }).catch(_err => {});
    }
  }
  • Вопрос задан
  • 150 просмотров
Пригласить эксперта
Ответы на вопрос 1
NeiroNx
@NeiroNx
Программист
Используется метод GET вместо POST, нужно передалать на правильный метод.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы