Azure аутентификация Symfony - PullRequest
0 голосов
/ 17 апреля 2019

Я создал приложение Symfony 4.2 и хочу добавить в него аутентификацию Microsoft, поэтому после многих исследований в Интернете я обнаружил библиотеку под названием HWIOAuthBundle Я следил за everystep, ноУ меня все еще есть проблема

Если кто-нибудь может мне помочь, это может быть очень полезно

hwi_oauth.yaml file:

#/config/packages/hwi_oauth.yaml
hwi_oauth:
# list of names of the firewalls in which this bundle is active, this setting MUST be set
firewall_names: [secured_area]

# https://github.com/hwi/HWIOAuthBundle/blob/master/Resources/doc/2-configuring_resource_owners.md
resource_owners:
    azure:
        type:                azure
        client_id:           '%env(AZURE_ID)%'
        client_secret:       '%env(AZURE_SECRET)%'

        options:
            resource: https://graph.windows.net
            application: common

Вот мой файл безопасности:

#/config/packages/security.yaml
security:
# https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers
providers:
    in_memory: { memory: ~ }
firewalls:
    dev:
        pattern: ^/(_(profiler|wdt)|css|images|js)/
        security: false
    secured_area:
        anonymous: true
        oauth:
            resource_owners:
                azure: "/login/check-azure"
            login_path: /login
            use_forward: false
            failure_path: /login

            oauth_user_provider:
                service: my.oauth_aware.user_provider.service

        # activate different ways to authenticate

        # http_basic: true
        # https://symfony.com/doc/current/security.html#a-configuring-how-your-users-will-authenticate

        # form_login: true
        # https://symfony.com/doc/current/security/form_login_setup.html

# 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: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
    # - { path: ^/admin, roles: ROLE_ADMIN }
    # - { path: ^/profile, roles: ROLE_USER }

Моя ошибка при запуске php bin/console server:run: The service "hwi_oauth.authentication.provider.oauth.secured_area" has a dependency on a non-existent ser vice "my.oauth_aware.user_provider.service".

Заранее спасибо

Стоуфилер

1 Ответ

0 голосов
/ 23 мая 2019

Вы определяете провайдера пользователя с именем my.oauth_aware.user_provider.service в файле security.yml

oauth_user_provider:
    service: my.oauth_aware.user_provider.service

Вам необходимо определить службу с таким именем или использовать одну из услуг по умолчанию

hwi_oauth.user.provider
hwi_oauth.user.provider.entity

https://github.com/hwi/HWIOAuthBundle/blob/master/Resources/doc/3-configuring_the_security_layer.md#step-3-configuring-the-security-layer

...