Добрый вечер,

В настоящее время я создаю REST API для приложения / веб-приложения, и теперь я пытаюсь реализовать регистрацию / вход пользователя и хотел бы защитить некоторые из моих конечных точек с помощью аутентификации / авторизации, но я не знаю, с чего начать , Я немного исследовал и думаю, что лучший способ сделать это — аутентификация на основе токенов с использованием JWT или чего-то в этом роде. Я просто не могу найти способ безопасного хранения токена доступа пользователей, например, в общедоступных / ненадежных приложениях, таких как SPA или мобильные приложения (я планирую позже построить SPA и мобильное приложение на основе этого REST API).

Можно ли сохранить маркер пользователя в браузере? Как я должен это делать? Использовать localStorage?

Я хотел бы сделать это как можно более удобным для пользователя, то есть я хотел бы, чтобы он один раз выполнил вход в свою учетную запись и больше никогда не касался этого. На мобильном телефоне я мог бы просто сохранить токен обновления и каждый раз запрашивать новый токен доступа, но могу ли я сделать то же самое для SPA?

Что ты думаешь на эту тему? Что я должен делать? Должен ли я настроить сервер авторизации OAuth2, хотя я (в настоящее время) не планирую использовать социальные входы?

Большое вам спасибо за вашу помощь.

Примечание: я реализую REST API с NodeJS и TypeScript.