Эта статья демонстрирует, как настроить в Discourse регистрацию и вход с использованием Google OAuth2.
Настройка в консоли Google
Перейдите по ссылке https://console.developers.google.com и в левом верхнем углу нажмите Выбрать проект (Select a project).
![]()
Новый проект
В правом верхнем углу нажмите Новый проект (New Project).
Ввод информации о проекте
В поле Название проекта (Project Name) введите название проекта. Вы также можете отредактировать Идентификатор проекта (Project ID).
Изменение идентификатора проекта является необязательным. После этого нажмите Создать (Create).
Эта операция может занять некоторое время, поэтому, возможно, вам придется немного подождать.
Ошибка при создании
В процессе создания может возникнуть ошибка.
В таком случае вы можете проигнорировать ошибку создания и нажать Ctrl+F5 для обновления страницы.
Проверка заявки
Следуйте инструкциям по ссылке https://support.google.com/cloud/answer/9110914#submit-app-ver, чтобы отправить ваш проект на проверку в платформу Google Cloud Platform.
Создание внешнего приложения
В вашем проекте выберите текущее имя проекта, затем в левой панели управления нажмите меню OAuth consent screen и выберите External, после чего нажмите кнопку Create.
Заполнение всех данных
Рекомендуется полностью заполнить все данные перед нажатием кнопки Save для сохранения.
В примере мы предполагаем, что ваш домен — https://demo.site.com. Убедитесь, что введённый вами URL начинается с протокола https или http.
Начиная с 13 сентября 2021 года, Google требует, чтобы все сайты, обращающиеся к сервисам Google, использовали протокол https.
Поле Логотип приложения (Application logo) можно не изменять, однако вы также можете загрузить свой собственный логотип. После этого Google проведёт проверку сайта.
Учётные данные (Credentials)
Далее необходимо создать учётные данные. Перейдите на вкладку Credentials в левой панели, нажмите кнопку + CREATE CREDENTIALS и выберите OAuth client ID для создания.
Выбор типа
На следующем экране в разделе Application Type выберите тип приложения Web application.
В разделе Authorized JavaScript Origins добавьте URL вашего сайта. Обратите внимание, что этот URL должен начинаться с http:// или https://.
В разделе Authorized Redirect URI добавьте к ранее введённому URL путь /auth/google_oauth2/callback.
Затем нажмите кнопку Create для создания.
Обратите внимание, что с 13 сентября 2021 года Google требует, чтобы все сайты, обращающиеся к сервисам Google, использовали протокол https. Поэтому ваш сайт Discourse должен по возможности работать через https.
Получение пары ключей
В диалоговом окне OAuth-клиента будут отображены client ID и secret.
Просмотр пары ключей (необязательно)
Этот шаг является необязательным. Теперь в вашем проекте нажмите опцию Credentials, чтобы найти OAuth-ключи для редактирования или удаления.
Настройка Discourse
В конфигурации Discourse включите параметр enable google oauth2 logins и введите полученные на предыдущих шагах google oauth2 client id и google oauth2 client secret.
Введите полученные ключи в соответствующие поля конфигурации.
На этом настройка входа через Google считается завершённой.
Вы можете протестировать работу, используя фронтенд Discourse.
Советы
Для настройки входа через Gsuite используйте параметр конфигурации google oauth2 hd. Подробнее см. здесь.
ID-токен будет проверяться Discourse. По ссылке выше находится исходный код проверки в Discourse.
Для получения дополнительной информации см. оригинальную статью: iSharkFly - 飞鲨.
Благодарим официальную поддержку.








