Авторизация через Google на сайте для избранных доменов (почт)?
Возможно ли в настройках приложения Google OAuth сделать так, чтобы на сайт можно было войти только с определенных доменов (почт)?
Возможно есть функционал на стороне Google OAuth чтобы запретить вход и регистрацию на сайте для всех (White List для авторизации)
Сайт работает на WordPress
UPD:
Пример:
Сайт на WordPress с авторизацией через Google, надо сделать возможность пропускать только те домены (почты) которые добавлены в список разрешенных для авторизации например - mail@example.com (бизнес аккаунты) а другие отклонять - mail@gmail.com
Дополнительные вопросы
Можно подробнее , более развернуто, кому можно нельзя ?
Сайт на WordPress с авторизацией через Google, надо сделать возможность пропускать только те домены (почты) которые добавлены в список разрешенных для авторизации например - mail@example.com (бизнес аккаунты) а другие отклонять - mail@gmail.com
Ответы:
Да, в настройках Google OAuth можно ограничить доступ к вашему сайту, разрешив вход только с определенных доменов. Это обычно делается путем настройки списка разрешенных доменов в консоли Google API для вашего проекта. Также, вы можете реализовать дополнительную логику на стороне вашего сервера, чтобы проверять домен электронной почты пользователя после аутентификации и перед предоставлением доступа к сайту.
Для сайтов на WordPress существуют плагины, которые могут помочь вам управлять процессом авторизации через Google OAuth и настроить ограничения на основе доменов электронной почты. Вы можете настроить такой плагин, чтобы он принимал только пользователей с электронной почтой из определенных доменов.
Кроме того, если вы используете Google Workspace, вы можете настроить политики доступа к областям действия OAuth, которые позволяют контролировать, какие приложения могут получать доступ к данным Google Workspace в вашем домене
- Большое спасибо за ответ!
Хотелось бы всетаки сделать эту проверку по доменах почты на стороне самого Google OAuth, так как на сайте используєтся кастомный вход.Также буду очень благодарен если подскажете в каких вкладках в панели управления приложением Google я могу найти эти настройки.
(где именно я могу установить этот диапазон доменов "@example.com")?Спасибо.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
В настройках Google OAuth нельзя надёжно сделать whitelist доменов для входа на ваш WordPress-сайт так, чтобы Google сам отфильтровывал всех пользователей по домену почты. Google OAuth отвечает за подтверждение личности, а бизнес-правило «кого пускать» обычно реализуется на стороне вашего сайта после получения email.
Правильная схема такая:
Если используете готовый плагин social login, ищите в нём hooks после получения профиля Google. Почти все нормальные плагины имеют фильтр или действие перед созданием пользователя.
Пример общей логики проверки email:
function is_allowed_google_email($email) { $allowed_domains = ['example.com', 'company.ru']; $allowed_emails = ['manager@gmail.com']; $email = strtolower(trim($email)); $domain = substr(strrchr($email, '@'), 1); return in_array($email, $allowed_emails, true) || in_array($domain, $allowed_domains, true); }
Где именно вызвать эту функцию — зависит от плагина авторизации. Если пишете свою интеграцию, проверку делайте после получения userinfo от Google и до создания/логина пользователя.
Для Google Workspace есть настройка ограничения OAuth app внутри организации, но она работает для пользователей вашей организации и управления приложениями, а не как универсальный whitelist для любого сайта. Если вам нужно пускать только корпоративные домены, всё равно лучше проверять email на стороне WordPress.
Важно: проверяйте именно подтверждённый email от Google, а не поле, которое пользователь сам ввёл в форму. В userinfo у Google есть признак
email_verified. Если он false, такого пользователя лучше не пускать.Итог: whitelist делайте в WordPress/плагине авторизации. Google OAuth даёт личность, а решение «разрешить или запретить вход» принимает ваш сайт.