Piszę aplikację ajax z uwierzytelnianiem ajax i teraz zacząłem używać komponentu bezpieczeństwa symfony w silex do obsługi uwierzytelniania/autoryzacji.
Wykonując prosty test z prostą konfiguracją, idę do chronionego obszaru przez zaporę ogniową, a odpowiedź, którą otrzymuję, jest przekierowaniem na stronę /login
, ale potrzebuję w mojej aplikacji odpowiedzi 401 z możliwymi dodatkowymi informacjami (w nagłówkach lub json body), jak się zalogować.Odpowiedź symfony zwrot 401 zamiast przekierowania
$app['security.firewalls'] = [
'api' => [
'pattern' => '^/api',
'logout' => ['logout_path'=>'/auth/logout'],
'users' => $app->share(function(Application $app) {
return new MyUserProvider();
})
]
];
EDIT: Dostałem wskazówkę, ale nie jestem pewien, jak go używać. Implementacja punktu wejścia z AuthenticationEntryPointInterface
Mogę powiedzieć api, jak odpowiedzieć na nieuwierzytelnione żądania i dać użytkownikowi instrukcje potrzebne do uwierzytelnienia. To może być moja odpowiedź 401 z instrukcjami logowania.