Какой самый безопасный способ пригласить незарегистрированного пользователя в мое приложение? - PullRequest
0 голосов
/ 27 января 2020

Я работаю над приложением React с Express бэкэндом, с Passport для аутентификации через JWT. Зарегистрированный пользователь должен иметь возможность отправить приглашение кому-то еще, кто не зарегистрирован, чтобы использовать приложение. Незарегистрированный пользователь не обязан регистрироваться для просмотра подмножества нашего контента. ЭТО ВАЖНО - незарегистрированный пользователь должен иметь доступ к некоторым данным, которые принадлежат зарегистрированному пользователю и в противном случае были бы недоступны для просмотра без аутентификации. Я построил модель приглашения для отслеживания этих приглашений, кто их отправил, кому они отправляются и т. Д. c.

Какой самый лучший / самый безопасный способ идентификации этого пользователя?

Мое текущее предположение - создать уникальную строку и сохранить ее в объекте приглашения и передать ее незарегистрированному пользователю по электронной почте. Поэтому у них будет ссылка на наше приложение с добавлением ?invite_id=SOME_ID_HERE в конце. Когда они достигнут нашего приложения, мы проверим, соответствует ли строка приглашению в нашей БД.

Это лучший подход? Должен ли я делать что-то более безопасное, может быть, пару опубликованных c и секретных ключей? Любой совет будет принята с благодарностью, спасибо!

...