Implementierung von OAuth-2.0-Authentifizierung mit einem Laravel-API

Ich bin derzeit den Aufbau einer web-Anwendung, die in einem AngularJS frontend, die Kommunikation mit einem RESTful API erstellt unter Verwendung von Laravel. Ich mache gute Fortschritte, aber finden es schwer zu bekommen mein Kopf herum, wie zu handhaben Benutzer-Authentifizierung.

Habe ich hingewiesen wurde, ich sollte die Verwendung von OAuth für die Authentifizierung, und ich habe beschlossen, es zu benutzen, wie gesehen, könnte es eine Lernerfahrung für mich. Das Paket, das ich verwende, um diese zu bewältigen ist oauth2-server-laravel.

Den basic-user-Geschichte ist, dass sich Benutzer registrieren können Sie Ihre Benutzername/Passwort-Kombination für die Anwendung, und Sie dann in der Anwendung anmelden mit dem gleichen Benutzernamen und Passwort. Sie sind nur zur Authentifizierung Ihren Benutzernamen und Ihr Kennwort, und nicht von jedem client secret. Nach dem login sollten Sie ein access token ein, die gesendet werden zusammen mit jeder künftigen Anfrage zu authentifizieren, die Sie auf verschiedenen API-Endpunkte.

Die OAuth2-Bibliothek hat ein "Passwort-flow" - grant-Typ zu sein scheint, was ich brauche, aber es dauert auch client_id und client_secret Parameter, die ich nicht will. Die request URI ist so etwas wie dieses:

POST https://www.example.com/oauth/access_token?
grant_type=password&
client_id=the_client_id&
client_secret=the_client_secret&
username=the_username&
password=the_password&
scope=scope1,scope2&
state=123456789

Aber was ich will, ist nur:

POST https://www.example.com/oauth/access_token?
grant_type=password&
username=the_username&
password=the_password

Wie bin ich soll eine client-ID und secret of a user, die noch nicht zu authentifizieren?

Gibt es eine andere grant kann ich verwenden, oder ist das, was ich erreichen möchte einfach nicht geeignet für OAuth überhaupt?

InformationsquelleAutor John Dorean | 2014-06-08
Schreibe einen Kommentar