Стратегия JWT Token для внешнего интерфейса и внутреннего интерфейса

Я пишу приложение с интерфейсом в emberjs и серверной / серверной части на сервере nodejs. Я настроил emberjs так, чтобы пользователь мог войти / зарегистрироваться с помощью стороннего Oauth (Google, Twitter, Facebook). У меня есть серверная часть, написанная на экспресс-сервере nodejs, на котором размещены API-интерфейсы RESTful.

У меня нет базы данных, подключенной к emberjs, и я не думаю, что должен, так как это строго клиентский код. Я планирую использовать JWT для связи между клиентской и серверной сторонами. Когда пользователь входит в систему со своим кредитом oauth, я возвращаю JSON-объект от провайдера с uid, name, login, access_token и другими деталями.

Я пытаюсь выбрать стратегию обработки регистрации пользователей. Нет процесса регистрации, так как это OAuth. Таким образом, поток, если пользователь не находится в моей БД, создайте его. Я не поддерживаю аутентификацию по электронной почте / паролю. Каким будет поток, когда пользователь впервые войдет в систему с поставщиком OAuth? Должен ли emberjs отправлять все данные бэкэнду при каждом входе в систему, чтобы бэкэнд мог добавлять новых пользователей в базу данных?

Что должно быть частью моего тела JWT? Я думал, что UID и провайдер предоставили токен доступа. Одна проблема, о которой я могу подумать, заключается в том, что маркер доступа конкретного поставщика может измениться. Пользователь может отозвать токен с сайта провайдера и снова зарегистрироваться с помощью emberjs.

Я открыт для написания внешнего интерфейса в любой другой клиентской среде javascript, если это облегчает эту задачу.

Ответы на вопрос(3)

Ваш ответ на вопрос