#symfony #fosuserbundle #fosrestbundle
#symfony #fosuserbundle #fosrestbundle
Вопрос:
У меня возникла проблема с использованием escapewsseauthenticationbundle для защиты моего API (с использованием FOSRestBundle и FOSUserBundle). С my security.yml вход в систему всегда завершался неудачно и возвращал код состояния 401.
Я использую консоль Chrome rest и генератор заголовков wsse от Teria для аутентификации и доступа к моему ресурсу.
app/security.yml
encoders:
FOSUserBundleModelUserInterface: sha512
providers:
fos_userbundle:
id: fos_user.user_provider.username
wsse_secured:
pattern: ^/api/.*
wsse:
lifetime: 300 #lifetime of nonce
realm: "Secured API" #identifies the set of resources to which the authentication information will apply (WWW-Authenticate)
profile: "UsernameToken" #WSSE profile (WWW-Authenticate)
encoder: #digest algorithm
algorithm: sha512
encodeHashAsBase64: true
iterations: 1
anonymous: true
provider: fos_userbundle
access_control:
- { path: ^/api.*, role: ROLE_USER }
- { path: ^/, role: ROLE_USER }
Кто-нибудь знает, как это исправить?
Спасибо!
Комментарии:
1. Ваши журналы что-то указывают? Как
SecurityContext
был (или не был) заполнен? Также я думаюanonymous: true
, что его следует удалить из вашего брандмауэра API.2. Только «Ошибка аутентификации WSSE». Да, я забыл удалить его, мой плохой. Что вы хотите сказать о SecurityContext ? Спасибо за ваш ответ!
3. Я хотел, чтобы вы искали записи журнала, связанные с SecurityContext. Но сообщение «Ошибка аутентификации WSSE», похоже, связано.
4. Я бы начал отладку где-нибудь здесь
5. Разве провайдер не должен быть настроен по-другому ?