Я использую плагин пользователя cakeD C (8.5.1), чтобы ограничить мой сайт Cake PHP (3.89) только членами моей организации и следовал этим указаниям:
https://www.cakedc.com/jorge_gonzalez/2016/10/11/create_google_app_for_web_oauth2_login_step_by_step
https://www.cakedc.com/jorge_gonzalez/2016/10/11/login-with-google-oauth2-in-cakephp-using-cakedc-users-plugin
Я добавил эти две строки в мой файл bootstrap. php, который немного отличался от что указано в инструкциях:
Configure::write('Users.config', ['users']); //add this line before Plugin::load('CakeDC/Users...
$this->addPlugin('CakeDC/Users', ['routes' => true, 'bootstrap' => true]);
мой сайт https://internal.domain.com
, если не войти в систему, он перенаправляет на:
https://internal.domain.com/login
после входа в систему Google перенаправляет на
https://internal.domain.com/auth/google?state=XXXXXXX&code=4 / XXXXXXX & scope = XXXXXX & authuser = XXXX & hd = XXXXXX & prompt = XXXX & session_state = XXXXXX
которая не работает как страница, то есть для нее не настроен маршрут:
Ошибка базы данных Ошибка PDOException: SQLSTATE [22001]: строковые данные, усеченные справа: 1406 Данные слишком длинные для столбца 'avatar' в строке 1
Из журналов видно, что пользователь не вошел в систему, так что это заставляет меня поверить, что я что-то не так сделал при установке.
Это просто перенаправление на неправильную страницу или плагин установлен неправильно? Google не позволит мне изменить redirect_uri на что-либо еще, то есть, если я добавлю туда другой адрес, он сообщит о несоответствии uri_redirect при входе в систему и даст мне ссылку на консоль, чтобы исправить это.