Angular5 с авторизацией Symfony3

У меня есть сервер Apache и почтальон, чтобы проверить, работает ли api url, и у меня странное поведение, то есть, когда я звоню с правильными учетными данными http://localhost/xxx/web/app_dev.php/api/login_check на почтальоне LexikJwtBundle возвращает токен, так что все у меня работает нормально.
Но, делая это в Mozilla или Chrome, я получаю 401 Bad Credentials, мой security.yml

security:
encoders:
FOS\UserBundle\Model\UserInterface: bcrypt

role_hierarchy:
ROLE_ADMIN:       ROLE_USER
ROLE_SUPER_ADMIN: ROLE_ADMIN

providers:
fos_userbundle:
id: fos_user.user_provider.username

firewalls:
login:
pattern:  ^/api/login
stateless: true
anonymous: true
provider: fos_userbundle
form_login:
check_path:               /api/login_check
success_handler:          lexik_jwt_authentication.handler.authentication_success
failure_handler:          lexik_jwt_authentication.handler.authentication_failure
require_previous_session: false

api:
pattern:   ^/api
stateless: true
lexik_jwt: ~

main:
pattern: ^/
form_login:
provider: fos_userbundle
# csrf_provider: security.csrf.token_manager # Use form.csrf_provider instead for Symfony <2.4
csrf_token_generator: security.csrf.token_manager

logout:       true
anonymous:    true

запрос в Mozilla:

Host: localhost
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:58.0) Gecko/20100101 Firefox/58.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Access-Control-Request-Method: POST
Access-Control-Request-Headers: content-type
Origin: http://sprawy.com
Connection: keep-alive

что может быть не так?

0

Решение

Angular не отправил соответствующий заголовок. Добавление headers: new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded') при создании почтового звонка решена проблема.

0

Другие решения

Ваш конфиг Symfony выглядит нормально.

установите этот заголовок с вашим запросом аутентификации:

'Accept': 'application/json',
'Content-Type': 'application/json'
0

По вопросам рекламы [email protected]