Tôi đang viết một ứng dụng ajax với xác thực ajax và bây giờ tôi bắt đầu sử dụng thành phần bảo mật của symfony trong silex để xử lý xác thực/ủy quyền.
Thực hiện một thử nghiệm đơn giản với cấu hình đơn giản, tôi đi đến khu vực được bảo vệ bằng tường lửa và phản hồi tôi nhận được là chuyển hướng đến trang /login
nhưng những gì tôi cần trong ứng dụng của tôi là phản hồi 401 với thông tin bổ sung có thể có (trong tiêu đề hoặc cơ thể json) về cách đăng nhập.Trả lời bảo mật của Symfony 401 thay vì chuyển hướng
$app['security.firewalls'] = [
'api' => [
'pattern' => '^/api',
'logout' => ['logout_path'=>'/auth/logout'],
'users' => $app->share(function(Application $app) {
return new MyUserProvider();
})
]
];
EDIT: tôi có một gợi ý nhưng tôi không chắc chắn làm thế nào để sử dụng nó. Thực hiện một điểm vào với AuthenticationEntryPointInterface
Tôi có thể nói cho api cách trả lời các yêu cầu chưa được xác thực và cung cấp cho người dùng các hướng dẫn cần thiết để xác thực. Đó có thể là phản hồi 401 của tôi với hướng dẫn đăng nhập.