Size: a a a

React Native — русскоговорящее сообщество

2020 July 24

ЮС

Юрий Слободчиков... in React Native — русскоговорящее сообщество
Vladimir Kurchatkin
Вопрос был "Правильно ли утверждать"

Ответ: нет, неправильно. Нет оснований так утверждать. Какие еще могут быть аргументы?
Разнообразные. Всегда есть плюсы и минусы в том или ином решении. Например, разделив на разные back мы реализуем крупномасштабную модульность. Возможности распределения нагрузки...
источник

К

Костянтин in React Native — русскоговорящее сообщество
Логинюсь через логин+пароль и сервер мне отдает токен который я записываю в асинкстордж. Кроме этого прописываю еще так(запросы идут через аксиос)
instance.defaults.headers.Authorization = `Bearer ${token}`;
Но потом токен сдыхает через паре дней, рефреша нету и мне сказали перекидывать пользователя на экран логина. Так вот возникает проблема что при передаче логина и пароля еще передается сохраненный так в хеадере токен.
login: async (data: LoginInterface) => {
   delete instance.defaults.headers.Authorization;
   return instance
     .post('/login', data)
     .then((response) => response)
     .catch((e) => e);
Я правильно прописываю delete чтоб оно в случае если есть токен в хеадере есть его удаляло и в запросе он не шел?
источник

A

Alexander in React Native — русскоговорящее сообщество
Костянтин
Логинюсь через логин+пароль и сервер мне отдает токен который я записываю в асинкстордж. Кроме этого прописываю еще так(запросы идут через аксиос)
instance.defaults.headers.Authorization = `Bearer ${token}`;
Но потом токен сдыхает через паре дней, рефреша нету и мне сказали перекидывать пользователя на экран логина. Так вот возникает проблема что при передаче логина и пароля еще передается сохраненный так в хеадере токен.
login: async (data: LoginInterface) => {
   delete instance.defaults.headers.Authorization;
   return instance
     .post('/login', data)
     .then((response) => response)
     .catch((e) => e);
Я правильно прописываю delete чтоб оно в случае если есть токен в хеадере есть его удаляло и в запросе он не шел?
не совсем понятно где происходит удаление
источник

A

Alexander in React Native — русскоговорящее сообщество
не проще проверять на 401 статус? и в случае если он, редиректить на страницу логина и удалять
источник

К

Костянтин in React Native — русскоговорящее сообщество
Перед отправкой запроса, чтоб если там даже было что-то то удалилось.
источник

A

Alexander in React Native — русскоговорящее сообщество
ок, но разве у тебя авторизация не сохраняется в приложении?
источник

A

Alexander in React Native — русскоговорящее сообщество
т.е чтобы сразу попасть в приложение, а не на экран логина
источник

К

Костянтин in React Native — русскоговорящее сообщество
Он проверяет и перекидывает. Но в хеадерах еще остается  токен который был перед этим. То мне надо еще и с хеадера почистить его.
источник

A

Alexander in React Native — русскоговорящее сообщество
delete instance.defaults.headers.common.Authorization;

я вот так удаляю
источник

К

Костянтин in React Native — русскоговорящее сообщество
Потому что тот токен уже не валидный и он передается вместе с логином.
источник

A

Alexander in React Native — русскоговорящее сообщество
и вот запись
 instance.defaults.headers.common.Authorization = 'Token ' + token;
источник

VB

Vladimir Brozhik in React Native — русскоговорящее сообщество
всем доброго времени суток

знаете какие нибудь сайты нормальные для тестирования получения смс?
источник

К

Костянтин in React Native — русскоговорящее сообщество
Вот и у меня оно есть.. только  вижу что common не дописал.
источник

B

Bulat in React Native — русскоговорящее сообщество
А не легче/лучше написать полноценный апи сервис, где реализовать методы setToken(), clearToken() и вызывать по необходимости?
источник

AK

Alexey Kondratev in React Native — русскоговорящее сообщество
Bulat
А не легче/лучше написать полноценный апи сервис, где реализовать методы setToken(), clearToken() и вызывать по необходимости?
+
источник

К

Костянтин in React Native — русскоговорящее сообщество
Это так и делается по необходимости. Но токен после очищения надо еще убрать и из хеадера т.к. для рефреша апи не предоставили. А все последующие запросы имеют в в хеадере старый токен после перенаправление на страницу авторизации.
источник

AK

Alexey Kondratev in React Native — русскоговорящее сообщество
у тебя что, несколько инстансов апи чтоли в приложении?
источник

B

Bulat in React Native — русскоговорящее сообщество
источник

B

Bulat in React Native — русскоговорящее сообщество
вот, прекрасно работает
источник

AK

Alexey Kondratev in React Native — русскоговорящее сообщество
void не дописал)
источник