Я использую Symfony 4. Я использую API Platform и FOSOAuthBundle.Я могу создать клиента и создать токен, но не могу получить доступ к форме авторизации
#security.yaml
##
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
oauth_token:
host: api.forheavent.test
pattern: ^/oauth/v2/token
security: false
oauth_authorize:
host: api.forheavent.test
pattern: ^/oauth/v2/auth
anonymous: ~
#form_login:
# provider: db_provider
# check_path: /oauth/v2/auth
# login_path: /oauth/v2/auth
api: #api resources
host: api.forheavent.test
pattern: ^/
provider: db_provider
fos_oauth: true
stateless: true
anonymous: true # can be omitted as its default value
main:#regular website
anonymous: ~
host: ^forheavent.test$
context: user
form_login:
login_path: login
check_path: /login_check
username_parameter: email
password_parameter: password
provider: db_provider
guard:
entry_point: App\Security\LoginFormAuthenticator
authenticators:
- App\Security\LoginFormAuthenticator
logout:
path: logout
target: index
access_control:
- { path: ^/fr/connexion, roles: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https}
- { path: ^/oauth/v2/auth, roles: [ IS_AUTHENTICATED_ANONYMOUSLY ], host: api.forheavent.test }
- { path: ^/(?!oauth.*$).*, roles: [ IS_AUTHENTICATED_FULLY ], host: api.forheavent.test} #Urls except starting with oauth (Ex routes for authorization and token)
#fos_oauth_server.yaml
fos_oauth_server:
db_driver: orm # Drivers available: orm, mongodb, or propel
client_class: App\Entity\Client
access_token_class: App\Entity\AccessToken
refresh_token_class: App\Entity\RefreshToken
auth_code_class: App\Entity\AuthCode
service:
user_provider: security.user.provider.concrete.db_provider
Когда я пытаюсь получить доступ к: https://api.forheavent.test/oauth/v2/auth?client_id=1_1212121212
Я продолжаю получать эту ошибку:«Для доступа к этому ресурсу требуется полная аутентификация. Я хотел бы получить доступ к контроллеру по умолчанию и доступу к моей странице авторизации.
Еще одна вещь, которую я попробовал, - это поместить form_login по умолчанию, потому что Symfony требуется прослушиватель аутентификатора, еслиЯ удаляю анонимную опцию из своего межсетевого экрана аутентификации ... но на самом деле я не хочу этого, я прочитал много вопросов, документов, tutos, но я не могу с этим справиться.Заранее спасибо