Deployd: How to implement dpd-passport and securely authenticate
Позвольте мне начать с того, что мне очень нравится Deployd. Я хочу использовать его в работе, но я хочу включить OAuth и социальные логины, поэтому я установил модуль dpd-passport. Он отлично работает, за исключением двух маленьких (больших) проблем:
- Когда пользователь входит через OAuth-провайдера (например, Facebook, Twitter, Github), создается новая запись пользователя... но если тот же пользователь очищает свои куки или использует другой браузер для входа, создается новая запись пользователя.
- Если я сделаю что-то умное (читай: hacky) и назначу пользователям с социальными логинами ID на основе socialAccount и socialAccountId (что-то уникальное, но постоянное для каждой социальной учетной записи), кто-то может использовать стандартный метод создания пользователя, чтобы обмануть пользователя, сделав запрос POST к
/users
конечная точка, если они знали, что этот пользователь socialAccount и socialAccountId.
Мой вопрос: как может I A) предотвратить появление #1 или B) отключить стандартный метод создания пользователя, не предотвращая при этом создание пользователя OAuth?
Кто-нибудь когда-либо успешно использовал Deployd
а также dpd-passport
в производстве? Если так, я хочу поговорить с вами...
Заранее спасибо!
1 ответ
Прежде всего, я думаю, что вы не добавили настраиваемые поля для документов. https://www.npmjs.com/package/dpd-passport
Я тоже не заметил и заметил новую функцию пользователя (потому что он не мог найти ответ от службы аутентификации, чтобы найти пользователя раньше). Добавление этих полей исправило это.
Также здесь есть группа Google: https://groups.google.com/forum/.
Надеюсь, это поможет.