Comments (4)
Речь все-таки об аутентификации, а не авторизации. Немного разверну.
- Нужно сделать эндпоинт для запроса кода на е-мейл. Туда отправляется е-мейл, ответом приходит что все ок или ошибка, если все ок, на почту уходит код. Предусмотреть защиту от большого количества запросов, например, сделать, чтобы е-мейл отправлялся не чаще 1 раза в час.
Нужно ли время жизни кода? - Создать другой эндпоинт, который по коду выдает JWT-токен. Нужно ли токену время жизни?
from diary-workout-tracker-backend.
- Предусмотреть защиту от большого количества запросов, например, сделать, чтобы е-мейл отправлялся не чаще 1 раза в час.
Предполагаю, что такое ограничение будет противоречить кнопке "Отправить повторно код". Но идея отличная, предлагаю вариант отправки ограниченного количества( например 4), а потом блок на час.
Нужно ли время жизни кода?
Хороший вопрос, я считаю что нужно, что если человек не вел код в течение n минут, то кода недействителен. Но в дизайне нет таймера отсчитывающего время.
- Создать другой эндпоинт, который по коду выдает JWT-токен. Нужно ли токену время жизни?
Мне виделся вариант, что если человек долго(а вот сколько вопрос) не пользовался токеном, то сбрасывать.
( ̄ω ̄)
from diary-workout-tracker-backend.
Пока решил, что код можно запрашивать как угодно часто, но будут настройки максимального количества попыток в течение минуты и часа. Вроде, достаточно гибко, и при этом логично и не мешает если неправильно ввел код.
Также настраивается время жизни кода (на собрании решили, что 5 минут)
Я думаю, jwt можно вообще не сбрасывать, так как по идее его можно перевыпустить вообще без кода, если знаешь старый, но зачем лишняя работа нам и iOS?
from diary-workout-tracker-backend.
По поводу регистрации и восстановления все-таки разница есть - если при регистрации обязательными будут еще какие-то поля, типа имени. Ждем, что решат Александр со товарищи.
from diary-workout-tracker-backend.
Related Issues (20)
- Добавление заморозок по результатам валидации ачивок
- Код и статус ответа 500 Internal Server Error при отправке PATCH api/v1/me/ на Изменение данных в ЛК, если в значении параметра name 151 символ HOT 1
- Код и статус ответа 500 Internal Server Error при отправке PATCH api/v1/me/ на Изменение данных в ЛК, если в значении параметра height_cm отрицательное число HOT 1
- Код и статус ответа 500 Internal Server Error при отправке PATCH api/v1/me/ на Изменение данных в ЛК, если в значении параметра height_cm 100000 HOT 1
- Код и статус ответа 500 Internal Server Error при отправке PATCH api/v1/me/ на Изменение данных в ЛК, если в значении параметра height_cm 5 символов HOT 1
- Код и статус ответа 200 ОК при отправке PATCH api/v1/me/ на Изменение данных в ЛК, если в значении параметра weight_kg отрицательное число HOT 1
- Код и статус ответа 500 Internal Server Error при отправке POST api/v1/history/ на Сохранение выполненной тренировки, если в значении параметра distance указано 10 символов HOT 1
- Код и статус ответа 500 Internal Server Error при отправке POST api/v1/history/ на Сохранение выполненной тренировки, если в JSON пустой массив HOT 1
- Код и статус ответа 500 Internal Server Error при отправке POST api/v1/history/ на Сохранение выполненной тренировки, если в в JSON пустое значение HOT 1
- Код и статус ответа 500 Internal Server Error при отправке POST api/v1/history/ на Сохранение выполненной тренировки, если в в JSON ноль HOT 1
- Код и статус ответа 500 Internal Server Error при отправке POST api/v1/update/ на Сохранение часового пояса, если в в JSON пустое значение HOT 1
- Код и статус ответа 500 Internal Server Error при отправке POST api/v1/update/ на Сохранение часового пояса, если в в JSON ноль HOT 1
- Код и статус ответа 500 Internal Server Error при отправке POST api/v1/update/ на Сохранение часового пояса, если в JSON пустой массив HOT 1
- Доработать pre-commit HOT 1
- Создать отдельный эндпоинт возврата пользователя в дефолтное состояние по выполнению тренировок
- Переделать эндпоинт часового пояса
- Поправить ошибку в тестах, связанную со временем
- [ПОД ВОПРОСОМ] Добавить новое поле описания для неполученных ачивок
- Переименовать модели Day и History в более подходящие
- Допокрыть код unit-тестами
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from diary-workout-tracker-backend.