Я пишу REST API (Node.js), который будет использоваться мобильным приложением (React Native).Приложение потребует от пользователя входа в систему с учетными данными, которые следует использовать для аутентификации на основе API.Мне также нужно, чтобы приложение помнило, что пользователь вошел в систему, чтобы ему не приходилось повторно входить в систему при каждом открытии приложения.
Что является наилучшей практикой при выполнении этой аутентификации без использованиясторонний поставщик аутентификации / авторизации, такой как Auth0, Okta и т. д.
Я подозреваю, что мне нужно использовать какую-то реализацию OAuth2 / OpenID Connect с JWT и использовать поток неявного предоставления с PKCE.Проблема в том, что из того, что я понимаю, мне потребуется либо развернуть свой собственный OAuth-сервер, либо заплатить за сторонний (т.е. один из перечисленных выше).
Есть ли какой-либо приемлемый и безопасный способ, которымЯ могу сделать это с моим собственным API, выдающим токены JWT?Как добавить к этому PKCE и как обрабатывать токены обновления с помощью мобильного приложения?Как популярные мобильные приложения делают это?
Любая помощь или указание на соответствующие учебные пособия будут высоко оценены.Все, что я мог найти, - это либо рекламные материалы от сторонних поставщиков, перечисленных выше, либо материалы, которые на самом деле не совсем безопасны.