Ich schreibe eine Ajax-Anwendung mit Ajax-Authentifizierung und jetzt benutze ich die Symfony-Sicherheitskomponente in Silex, um Authentifizierung / Autorisierung zu behandeln.
Bei einem einfachen Test mit einer einfachen Konfiguration gehe ich zu einem geschützten Bereich durch die Firewall und die Antwort, die ich bekomme, ist eine Umleitung auf die /login
Seite, aber was ich in meiner App brauche, ist eine 401 Antwort mit möglichen zusätzlichen Informationen (in Kopfzeilen) oder json body), wie Sie sich anmelden.
BEARBEITEN: Ich habe einen Hinweis, aber ich bin mir nicht sicher, wie ich ihn verwenden soll. Implementieren eines Einstiegspunkts mit AuthenticationEntryPointInterface
Ich kann der API mitteilen, wie sie nicht authentifizierte Anfragen beantwortet und dem Benutzer die zur Authentifizierung benötigten Anweisungen gibt. Das könnte meine 401 Antwort mit Login-Anweisungen sein.
Ich konnte den Standard-Einstiegspunkt für den "Formular" -Typ unter der "api" -Firewall wie folgt überschreiben:
%Vor%Dann ist es nur eine Frage der Implementierung des AuthenticationEntryPointInterface:
Sehen Sie sich die Symfony-Implementierung an, um eine Idee zu bekommen:
%Vor%Es lohnt sich auch, den Silex-Sicherheitsdienstanbieter zu überprüfen, um zu sehen, wie er das in "security.entry_point.form._proto" als Standardimplementierung einfügt.
%Vor%Tags und Links php security authentication symfony silex