2016-05-09 7 views
1

Ich erstelle eine Web App, wo ich auf eine API von Mobile Apps zugreifen muss. Ich habe einige Public API-Methoden implementiert, die gut sind und großartig funktionieren.Laravel OAuth Token nur für einen Benutzer

Nun arbeite ich an den eingeschränkten API-Methoden, dh die Aktualisierung Benutzerinformationen usw.

Ich habe begonnen, die Umsetzung OAuth server packagelucadegasperi/oauth2-server-laravel

Es ist alles Setup und Austeilen Token kein Problem, mit der Dokumentation von das GitHub Repo und this tutorial.

Ich kann ein OAuth-Token mit einem POST-Aufruf an meine öffentliche API-Methode oauth/access_token abrufen, dies gibt ein Access Token kein Problem zurück.

Nun, meine Frage ist:

Sobald ich die Access-Token haben, wie kann ich wissen, die er ausgestellt wurde und was sie haben Zugang zu? Diesem Token ist keine user_id zugeordnet.

Kann ich einfach eine Spalte in der Tabelle erstellen und Eloquent-Modelle verwenden, um herauszufinden, und wie würde ich dieses Token einem Benutzer zuordnen?

Antwort

1

Ok, nachdem ich den Quellcode und die Dokumentation mehrmals durchforstet habe, habe ich aufgegeben und hier eine Frage gestellt. Ich dachte dann "noch einmal". Ich habe this gem gefunden.

Und auf dem ganzen Boden (nicht im TOC oder irgendetwas) ist:

Finding Zugriffstoken Besitzer

use LucaDegasperi\OAuth2Server\Facades\Authorizer; 

Authorizer::getResourceOwnerId(); 

Pair dies mit:

$user = User::find($user_id); 

Wie so:

Route::get('protected', ['middleware' => 'oauth', function() { 
    $user_id = Authorizer::getResourceOwnerId(); 
    $user = \App\User::find($user_id); 
    return $user; 
}]); 

Und Bobs y unser Onkel. Wir haben, wer die Anfrage gestellt hat.

Verwandte Themen