Всем привет. Для образовательных целей хочу создать todo list с авторизацией с помощью flask и vuejs (Vue будет общаться с Flask по API). Вчера узнал, что такое JWT. Не совсем понял схему работы. Как я понял:
1) Неавторизованный пользователь пытается зайти на страницу "site.com/todolist/%id%". У него это сделать не получается и сервер его переводит на страницу для авторизации.
2) Пользователь заходит на страницу "site.com/login" чтобы авторизоваться в форме с логином и паролем.
3) По роуту "site.com/auth" проверяются его логин и пароль.
4) Если логин и пароль валидны, то мы ридеректим на роут "site.com/token", чтобы получить этот JWT.
Мои вопросы:
1) Где хранится JWT? (Как я понял, его можно хранить в куки, а потом на каждом роуте проверять эти куки)
2) Какую информацию нужно хранить в JWT и какую информацию НЕЛЬЗЯ зранить в JWT?
3) Как запомнить страницу "site.com/todolist/%id%", на которую хотел перейти пользователь средствами Flask и VueJS?
4) Обязательно ли сервер должен переводить пользователя на роут "site.com/token" для получением токена? Или сервер сам может сделать этот запрос?