2016-11-23 5 views
4

Ich bin eine Web-Anwendung entwerfen, die hauptsächlich in folgenden zwei Teile geteilt istOAuth2 Passwort Zuschuss mit Knoten js

  1. Website (UI): Node JS Express wird die Anwendung als www.mysite.com
  2. gehostet werden
  3. REST-API: für diese Anwendung Geschäftslogik (Atuhentiation, Authorization, Business-Logik) und wird als eine andere Domain zum Beispiel api.mysite.com

ich möchte die OAuth2 umzusetzen gehostet werden. Ich lese durch OAuth2 und verstanden, dass es verschiedene Ströme und basierend auf meinem Verständnis, schloss ich, dass "Resource Owner Passwort Credentials" Flow ist ein Weg zu gehen, wie Client und Service sowohl mir gehört und Benutzer wird auch direkt mit meiner Anwendung registrieren und Daher werden sie Benutzername und Passwort angeben.

Ich recherchierte viel um "Ressource Owner Password Credentials" fließen, aber dieser Fluss ist sehr wenig gesprochen und dokumentiert. Ich habe sehr wenig Ahnung von ZERO, wie ich diesen Flow in meiner Anwendung umsetzen soll. Ich entwickle Website und Rest API in Node JS. Bitte führen Sie mich herum, wie soll ich das umsetzen? Alle Demos, Dokumentationen sind hilfreich.

Vielen Dank im Voraus!

+1

konnten Sie mit dem Kennwort-Anmeldeinformationen-Stil des Ressourceneigentümers Fortschritte erzielen? Können Sie teilen, welche Open-Source-Bibliotheken Sie verwendet haben? – j10

Antwort

1

Sie haben Recht. Es ist sehr wenig dokumentiert, und es wird oft irreführend falsch erklärt. Die meisten Erklärungen dieses Flusses weisen nicht darauf hin, dass es zwei verschiedene Situationen für diesen Fluss gibt.

Wenn Sie eine SPA oder ähnliche offene Anwendungen haben, möchten Sie weder die Client-ID noch den geheimen Client mit dem ROPC-Fluss haben. Weil jeder es lesen konnte. Außerdem ist es im RFC nicht erforderlich.

Ihre Situation ist über 2-legged oauth ohne Delegation.

Hier ist ein sehr guter Artikel darüber, wie der ROPC Fluss zu sichern: http://andyfiedler.com/2014/09/how-secure-is-the-oauth2-resource-owner-password-credential-flow-for-single-page-apps

Hoffnung, die hilft, ich kämpfe derzeit mit dem gleichen Problem.