2015-01-24 6 views
5

Pozwól mi zacząć od stwierdzenia, że ​​naprawdę podoba mi się Deployd. Chcę go używać w produkcji, ale chcę włączyć OAuth i loginy społecznościowe, więc zainstalowałem moduł dpd-passport. Działa świetnie, z wyjątkiem dwóch małych (duże) problemy:Deployd: Jak wdrożyć dpd-paszport i bezpiecznie uwierzytelnić

  1. Kiedy użytkownik loguje się za pośrednictwem operatora OAuth (np Facebook, Twitter, Github) nowy rekord użytkownik jest tworzony ... ale jeśli ten sam użytkownik usuwa pliki cookie lub używa innej przeglądarki do logowania, tworzony jest nowy rekord użytkownika.
  2. Jeśli robię coś mądrego (czytaj: hacky) i przypisać użytkownikom logowania społecznych identyfikator oparciu o socialAccount i socialAccountId (czymś wyjątkowym, ale stała dla każdego konta społecznej), ktoś może użyć standardowego sposobu tworzenia użytkownika w celu podszycia się użytkownik, wysyłając żądanie POST do punktu końcowego /users, jeśli znał jego konto społecznościowe i identyfikator SocialAccountId.

Moje pytanie brzmi: Jak mogę A) # 1 zapobiec występowaniu, lub b) wyłączyć standardową metodę tworzenia użytkownika bez także zapobiegając tworzeniu użytkownika OAuth?

Czy ktoś kiedykolwiek z powodzeniem użył Deployd i dpd-passport w produkcji? Jeśli tak, chcę z Tobą porozmawiać ...

Z góry dziękuję!

+1

Chciałbym mieć również samouczek dotyczący używania dpd-paszport. – vpx

Odpowiedz

0

Po pierwsze, myślę, że nie dodałeś niestandardowych pól dla dokumentów. https://www.npmjs.com/package/dpd-passport#requirements

Nie miałem również i obserwowałem nową funkcję użytkownika (ponieważ nie mogła ona wyszukać odpowiedzi z usługi auth, aby znaleźć użytkownika przedtem). Dodanie tych pól naprawiło to.

Ponadto, istnieje grupa google tutaj: https://groups.google.com/forum/#!forum/deployd-users

nadzieję, że pomoże.

+0

Hej Seth, dzięki za odpowiedź. I na pewno nie dodać te pola do rekordu użytkownika, za docs i zamieścił podobne pytanie do grup forum google, ale od tego czasu przestałem używać Deployd dla wielu innych powodów. Może to właśnie był błąd wersja specyficzne, lub coś związane z moim środowisku dev, ale nie sądzę, mam zamiar go ponownie. –

+0

@ShaunScovil, czy zastąpiłeś deployd przez kilka innych BaaS? Bardzo podoba mi deployd i jestem w trakcie rozwoju produktu nad nim, ale problemy pojawiają się i rozwój/społeczności wokół deployd zdaje się znikać ... –

+0

@LorenoOliveira Odkąd przestałem używać Deployd, Tworzyłem interfejsy API za pomocą Java/Jersey lub Node/Express. Express ma niższą krzywą uczenia się i to jest to, co uważam za Deployd. Jeśli obie te opcje są zbyt zaawansowane (lub nawet jeśli nie), można zajrzeć do sprzężenia zwrotnego: https://strongloop.com/node-js/loopback-framework/ –