Компонент безопасности Symfony - невозможно найти Key \ "username \" в полезной нагрузке токенаPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Компонент безопасности Symfony - невозможно найти Key \ "username \" в полезной нагрузке токена

Сообщение Anonymous »

С этой конфигурацией, указанной ниже, я столкнулся с какой -то странной проблемой, которую я не могу решить в одиночку, так как я слишком новый в Symfony. < /p>

Код: Выделить всё

security:
encoders:
App\Api\User\Entity\User:
algorithm: bcrypt
cost: 12
# https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers
providers:
users:
id: 'App\Api\Auth\Provider\AuthProvider'
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
# Api will be stateless, a token will be generated
api_login:
pattern: /api/login
stateless: true
context: api
anonymous: true
provider: users
form_login:
check_path: /api/login
username_parameter: email
password_parameter: password
success_handler: lexik_jwt_authentication.handler.authentication_success
failure_handler: lexik_jwt_authentication.handler.authentication_failure
require_previous_session: false
# For web calls no need to be stateless
web_login:
pattern: /login
stateless: false
context: web
anonymous: true
provider: users
guard:
entry_point: 'App\User\Auth\Guard\LoginAuthenticator'
authenticators:
- 'App\Api\Auth\Guard\LoginAuthenticator'
form_login:
login_path: /login
check_path: /login
api:
provider: users
context: api
pattern: ^/api
stateless: true
anonymous: true
guard:
authenticators:
- lexik_jwt_authentication.jwt_token_authenticator
web:
provider: users
context: web
pattern: ^(/user|/template)
stateless: false
anonymous: true
guard:
authenticators:
- 'App\Api\Auth\Guard\LoginAuthenticator'
main:
pattern:  ^/
anonymous: ~
logout:
path: /logout
target: /login

# Easy way to control access for large sections of your site
# Note: Only the *first* access control that matches will be used

access_control:
- { path: ^/api, roles: ROLE_USER }
- { path: ^/user/*, roles: ROLE_USER }
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
< /code>
I: < /p>

 Бэк -офис с защищенной зоной с режимом Stateful < /li>
 API с защищенной областью с режимом без состояния (токен jwt) < /li>
< /ul>
Теперь вот что работает: < /p>

  Я могу связаться с моей формой HTML и увидеть мои роли и мои данные (электронная почта) < /p>
< /li>
  Когда я подключен (html), я сразу же перенаправляю /пользователь /профиль
endpoint и вижу мою информацию < /p>
< /li>
  i Можно позвонить в мою конечную точку входа в систему API и получить токен JWT < /p>
< /li>
< /ul>
Здесь не работает < /p>

 Из вызова API у меня токен, в котором нет имени пользователя (null) в нем < /li>
 Если я попытаюсь получить доступ в защищенной области из API I Получил ошибку, перечисленную
ниже < /li>
< /ul>
Мой декодированный токен: < /p>

{"alg":"RS256"}{"roles":["ROLE_USER"],"username":null,"iat":1527787676,"exp":1527791276}
< /code>
< /blockquote>
Ошибка: < /p>
{
"code": 401,
"message": "Unable to find key \"username\" in the token payload."
}
есть идея?

Подробнее здесь: https://stackoverflow.com/questions/506 ... ken-payloa
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»