2016-04-19 23 views
1

Ich arbeite an einer Web-basierten API. Dazu brauche ich die überladene Funktion von Laravel nicht, um eine Tabelle zum Speichern der Login-Daten der http-Auth zu verwenden. Ich möchte nur eine Funktion schützen (also Middleware wäre auch überlastet), indem Sie einen hartcodierten Benutzernamen & Passwort für HTTP-Authentifizierung verwenden.Laravel5.1 Basic http Auth für API

Alles, was ich im Moment gefunden habe, funktioniert nicht, gibt es kein einfaches Codebeispiel wie? Alles, was ich in Tutorials gefunden habe, benutzt die users-Tabelle, aber für meine API wäre das überladen, da ich nur ein Konto benötige, das ich in den Controller fest codieren möchte.

+0

Es kann übertrieben erscheinen, aber wenn Sie wollen, etwas sichern Sie richtig sollte es nicht zu leicht nehmen, noch dafür, einige der mehr Overkill Ansätze übersehen. Nachdem ich das kürzlich selbst gemacht habe, würde ich vorschlagen, einen API-Schlüssel irgendeiner Art zu speichern, oder einen Benutzernamen und ein Passwort in der "Benutzer" -Tabelle zu verwenden und dann diese in Ihrer Anfrage zu senden - Sie können dann einfach Middleware verwenden, um dies zu überprüfen. Es ist eigentlich ziemlich einfach einzurichten und super sicher. – James

Antwort

0

Übergeben Sie den Benutzernamen & Passwort in den Headern bei jedem Aufruf und überprüfen Sie mit den hartcodierten Anmeldeinformationen im controller der Steuerung.

Beispiel:

use use Illuminate\Http\Request; 

class MyController extends Controller 
{ 
    public function __construct(Request $request) 
    { 
    parent::__construct(); 

    $username = $request->header('username'); 
    $password = $request->header('password'); 
    if($username !== 'Your Hardcoded username' || $password !== 'Hardcoded password') { 
     throw new \Exception; 
    } 
    } 
} 
Verwandte Themen