У меня возникли проблемы с реализацией HWIOAuthBundle для входа в систему / регистрации в Google с моим текущим приложением, которое имеет пользовательскую аутентификацию (без использования FOSUserBundle).
Для начала я получаю сообщение об ошибке 404 при попытке подключиться к «xxxx / connect / google». Где я могу увидеть перечисленные пути для HWIOAuthBundle, которые я могу использовать в своем файле ветки?
Войти Twig:
<a href="{{ path('hwi_oauth_service_redirect', {'service' : 'google'}) }}"class="google-login">Google</a>
routing.yml:
google_login:
path: /login/check-google
hwi_oauth_redirect:
resource: "@HWIOAuthBundle/Resources/config/routing/redirect.xml"prefix: /connect
hwi_oauth_connect:
resource: "@HWIOAuthBundle/Resources/config/routing/connect.xml"prefix: /connect
hwi_oauth_login:
resource: "@HWIOAuthBundle/Resources/config/routing/login.xml"prefix: /login
config.yml
hwi_oauth:
firewall_names: [main]
resource_owners:
google:
type: google
client_id: ?
client_secret: ?
scope: "email profile"
security.yml:
security:
providers:
db_provider:
entity:
class: AppBundle:User
property: email
my_custom_hwi_provider:
id: ib_user.oauth_user_provider
firewalls:
main:
oauth:
resource_owners:
google: "/login/check-google"login_path: /login
failure_path: /login
oauth_user_provider:
service: ib_user.oauth_user_provider
User.php:
class User extends OAuthUser implements UserInterface {
//added googleId attribute and setters/getter
//also added the "extends OAuthUser"}
OAuthProvider.php — также новый класс, который я добавил.
Как говорится в первом комментарии, команда отладочных маршрутов:
php bin/console debug:router
Одной из проблем может быть отсутствие пути контроля доступа для подключения в security.yml:
access_control:
- { path: ^/connect, role: IS_AUTHENTICATED_ANONYMOUSLY }
Других решений пока нет …