Django djoser 2.0.1 войдите с электронной почтой

Я хотел бы использовать djoser для входа по электронной почте. djoser 2.0 пришел с обновлением, чтобы сделать это, но мне трудно реализовать.

Я не хочу переопределять модель пользователя, как рекомендуют другие / более старые (до 2.0) ответы

https://djoser.readthedocs.io/en/latest/settings.html

мой settings.py содержит следующее:

DJOSER = {
    'LOGIN_FIELD': 'email'
}

моя функция аутентификации выглядит следующим образом:

export function login(email, password) {
  return (dispatch, getState) => {
    const csrftoken = getCookie('csrftoken');
    const authParams = JSON.stringify({ email, password });
    return fetch('/auth/token/login/', {
      method: 'POST',
      body: authParams,
      headers: {
        'Content-Type': 'application/json',
        'X-CSRFToken': csrftoken,
      },
    })
      .then((response) => {
        return response.json().then((data) => {
          return {
            status: response.status,
            data,
          };
        },
        );
      })
      .then((response) => {
        if (response.status !== 200) {
          dispatch({ type: 'LOGIN_ERROR', data: response.status });
        }
        if (response.status === 200) {
          dispatch({ type: 'LOGIN_SUCCESSFUL', data: response.data });
        }
      });
  };
}

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

заранее спасибо! -E

0 ответов

Другие вопросы по тегам