меня уже просто глаза замылились и я чего-то не заметил просто.
В общем, первый вопрос такой: в конфиге security.yaml в секции access_control для записи с ролью IS_AUTHENTICATED_ANONYMOUSLY ведь не должен вызываться аутентификатор? (юзаю сделанный по официальной доке аутентификатор на базе Guard с API-токеном)
Чтобы нагляднее было, вот именно этот конфиг:
https://bitbucket.org/skobkin/magnetico-web/src/857a6c84c44123a8cedd965749c7385e1ae13e58/config/packages/security.yaml#lines-47
У меня сейчас получается так что:
$ curl -X POST --data "login=test&password=testtest" http://app.local:8000/api/v1/login
{"code":401,"status":"error","message":"'api-token' is invalid or not defined","data":null}
То есть, несмотря на то, что я указал, что для этого адреса не нужна аутентификация почему-то всё равно отрабатывает мой аутентификатор и кидает исключение.
https://bitbucket.org/skobkin/magnetico-web/src/857a6c84c44123a8cedd965749c7385e1ae13e58/src/Security/ApiTokenAuthenticator.php#lines-29
Моё предположение таково, что я неправильно понял концепцию и даже при IS_AUTHENTICATED_ANONYMOUSLY ApiTokenAuthenticator::createToken() должен отрабатывать и по этой причине брошенное мной исключение не даёт стоящему в цепочке аутентификатору anonymous пустить пользователя на ресурс.
Либо же я что-то неправильно настроил. Но я не вижу, что именно.
firewall и аутентификатор -> аутентификация access control -> авторизация
Обсуждают сегодня