Я пытаюсь создать приложение REST API с аутентификацией на основе токенов. призвание
/ouath2/v2/token?client_id=CLIENT_ID&client_secret=CLIENT_SECRET&grant_type=client_credentials
возвращает access_token, все в порядке.
Однако, когда я пытаюсь использовать его в следующем запросе API-сервера, возникает исключение: «Для доступа к этому ресурсу требуется полная аутентификация». сообщение. Я пробовал несколько способов использовать access_token: в запросе (/api/action?access_token=ACCESS_TOKEN
), в шапке (Authorization: Bearer ACCESS_TOKEN
) но все они не работают.
Не могли бы вы сказать мне, что не так с моей конфигурацией?
часть моего config.yml с FOSOAuthServerBundle && FOSUserBundle:
fos_user:
db_driver: orm
firewall_name: main
user_class: AppBundle\Entity\User
fos_oauth_server:
db_driver: orm
client_class: AppBundle\Entity\Client
access_token_class: AppBundle\Entity\AccessToken
refresh_token_class: AppBundle\Entity\RefreshToken
auth_code_class: AppBundle\Entity\AuthCode
service:
user_provider: testApp.user.provider
options:
supported_scopes: user
security.yml:
main:
anonymous: ~
oauth_token:
pattern: ^/oauth/v2/token
security: false
api:
pattern: ^/api
fos_oauth: true
stateless: true
anonymous: false # can be omitted as its default value
access_control:
- { path: ^/api, roles: [ IS_AUTHENTICATED_FULLY ] }
Задача ещё не решена.
Других решений пока нет …