2014-04-11 7 views
7

Ich habe eine REST-API mit sailsjs entwickelt, und ich möchte OAuth2-Autorisierung hinzufügen, um diese API zu sichern. Ich bin ziemlich neu in OAuth und ich bin mir nicht sicher, wo ich anfangen soll.Sicherung einer nodejs/sailsjs-API mit OAuth2

Ich fand mehrere Module, die für diese Zwecke verwendet werden könnten, zum Beispiel oauth2orize und ein Beispiel für seine Verwendung https://github.com/aaron524/sails-oauth2-provider-example, aber ich verstehe nicht vollständig, wie dies intern funktioniert.

Grundsätzlich werde ich mehrere Kunden haben raubend die API Ich entwickle: - Kunden, dem ich vertraue und ich möchte mit dem „Ressourcen Besitzer Credential Authorization“ verwenden - Kunden, die ich nicht vertrauen und das verbindet sich mit dem Autorisierungscode Fluss

Ich dachte über das Hinzufügen einer vertrauenswürdigen Eigenschaft zum Client-Modell innerhalb der Segel-Anwendung und dann, wenn ein Benutzer bei einer Anwendung anmelden: - er wird einen direkten Zugriff auf seine haben Ressourcen (Fall der vertrauenswürdigen Anwendung) - Er wird aufgefordert, der Anwendung den Zugriff auf seine Ressourcen zu genehmigen oder zu verweigern (Fall der nicht vertrauenswürdigen Anwendung)

Ist das ein guter Ansatz? Irgendwelche Hinweise darauf, wie man die entsprechende Strategie basierend auf dem vertrauenswürdigen Client-Level auswählt?

UPDATE

ich Setup habe folgendes Projekt auf GitHub, mehrere Tutorial und Projekte mit fand ich.

https://github.com/lucj/sails-oauth2-api 

Dieses Projekt ist noch nicht funktionsfähig.

Ich bin immer noch nicht klar, wie Sie den richtigen Grant-Typ (Autorisierungscode vs Ressourceneigner-Passwort) auswählen, wenn der Benutzer die API über eine Anwendung konsumieren. Wie integriere ich diesen Check in die Richtlinien?

Ich schaffe es nicht, die Verbindung zwischen dem OAuth-EndPoint (/ oauth/authorize,/oauth/token) und dem Aufruf von oauth2orize zu erstellen. Irgendeine Idee ?

Antwort

10

Ich kämpfte schließlich mit Oauth2orize, Segel und Pass und verwaltet OAuth2 Sicherheit meiner API in das Projekt zu integrieren: https://github.com/lucj/sails-oauth2-api

+0

Haben Sie eine komplette Anleitung für begginers? – Pbrain19

+0

Ich bin immer noch ein Anfänger in diesem Bereich. Ich habe nicht geplant, ein Tutorial zu schreiben, aber ich hoffe, dass die README Informationen von Grund auf zur Verfügung gestellt hat. Ich hätte gerne einen Segel/OAuth Guru, um das Projekt zuerst zu besprechen :) – Luc