В моем первом проекте Symfony 4.4 мне нужно аутентифицировать пользователей из базы данных. К сожалению, перед входом пользователя мне нужно проверить статус пользователя в удаленном API-сервисе. Если пользователь активен в этой службе и учетные данные такие же, как в моей базе данных, я могу аутентифицировать пользователя в своем приложении.
Где лучше всего проверить, активен ли пользователь перед аутентификацией в моем приложении? Мне нужно создать собственную охрану? Пользовательский провайдер?
Я использую аутентификацию Lexik JWT, там мой /config/packages/security.yaml
security:
providers:
app_user_provider:
entity:
class: App\Entity\User
property: email
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
authorization:
pattern: ^/api/v1/auth/
stateless: true
anonymous: true
json_login:
check_path: /api/v1/auth/sign-in/
success_handler: lexik_jwt_authentication.handler.authentication_success
failure_handler: lexik_jwt_authentication.handler.authentication_failure
username_path: email
api:
pattern: ^/api/v1/(user|req)/
stateless: true
anonymous: false
provider: app_user_provider
guard:
authenticators:
- lexik_jwt_authentication.jwt_token_authenticator