Я хочу пройти аутентификацию с помощью проверки JWT и LDAP. Мне нужен метод "login_check" для проверки имени пользователя и пароля. Вот мои файлы security.yaml и services.yaml. Кажется, я не могу проверить с помощью LDAP и восстановить токен.
security.yaml
security:
encoders:
App\Entity\Users:
algorithm: argon2i
# https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers
providers:
my_ldap:
ldap:
service: Symfony\Component\Ldap\Ldap
base_dn: cn=read-only-admin,dc=example,dc=com
search_dn: "dc=example,dc=com"
search_password: password
default_roles: ROLE_USER
uid_key: uid
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
registration:
pattern: ^/api/users
anonymous: true
stateless: true
methods: [POST]
login:
pattern: ^/api/login
stateless: true
anonymous: true
json_login:
check_path: /api/login_check
success_handler: lexik_jwt_authentication.handler.authentication_success
failure_handler: lexik_jwt_authentication.handler.authentication_failure
refresh:
pattern: ^/api/token/refresh
stateless: true
anonymous: true
api:
pattern: ^/api
stateless: true
anonymous: true
guard:
authenticators:
- lexik_jwt_authentication.jwt_token_authenticator
main:
anonymous: lazy
provider: my_ldap
form_login_ldap:
service: Symfony\Component\Ldap\Ldap
dn_string: 'dc=example,dc=com'
query_string: '(&(uid={username})(memberOf=cn=users,ou=Services,dc=example,dc=com))'
services.yaml
....
Symfony\Component\Ldap\Ldap:
arguments: ['@Symfony\Component\Ldap\Adapter\ExtLdap\Adapter']
Symfony\Component\Ldap\Adapter\ExtLdap\Adapter:
arguments:
- host: ldap.forumsys.com
port: 389
options:
protocol_version: 3
referrals: false