Deployd: How to implement dpd-passport and securely authenticate

Позвольте мне начать с того, что мне очень нравится Deployd. Я хочу использовать его в работе, но я хочу включить OAuth и социальные логины, поэтому я установил модуль dpd-passport. Он отлично работает, за исключением двух маленьких (больших) проблем:

  1. Когда пользователь входит через OAuth-провайдера (например, Facebook, Twitter, Github), создается новая запись пользователя... но если тот же пользователь очищает свои куки или использует другой браузер для входа, создается новая запись пользователя.
  2. Если я сделаю что-то умное (читай: 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/.

Надеюсь, это поможет.

Другие вопросы по тегам