Для использования AWS Cognito в качестве провайдера идентификации для плагина OpenID Connect
- Нажмите кнопку Create a User Pool в веб-консоли AWS Cognito.
- Нажмите Review Defaults, чтобы использовать настройки по умолчанию.
2a. Перед созданием пула убедитесь, что вы нажали Add an App Client.
2b. Создайте App Client: задайте ему имя и снимите все флажки, кроме Enable refresh token based authentication (ALLOW_REFRESH_TOKEN_AUTH).
3. Нажмите
Create pool.
4. Теперь в разделе
General Settings в левом меню выберите
App Client и запишите значения для
App client id и
App client secret.
5. Далее в разделе
App integration в левом меню выберите
Domain name. Введите здесь поддомен. Имя, указанное здесь, будет доменом, на который будут перенаправляться пользователи при входе.
6. В левом верхнем углу консоли AWS Cognito нажмите
Federated Identities — этот пункт найти немного сложно.

7. После этого нажмите
Create new identity pool.
8. Задайте имя для пула идентификации.
8b. В разделе
Authentication providers используйте
User Pool ID из ранее созданного пула пользователей и
App client id из ранее созданного клиента приложения.
9. Нажмите
Create Pool и разрешите консоли создать роли IAM для использования с новым пулом идентификации.
10. На этом этапе у вас есть практически всё необходимое для настройки экземпляра Discourse с правильными параметрами сайта, при условии, что плагин уже установлен.
openid connect enabled: включите эту опцию.
openid connect client id: используйте App Client Id, полученный на предыдущих этапах.
openid connect client secret: используйте App Client Secret, полученный на предыдущих этапах.
openid connect discovery document: ссылка на документ обнаружения (discovery document) имеет следующий формат. Формат для userPoolId можно увидеть на скриншоте в шаге 8b:
https://cognito-idp.{region}.amazonaws.com/{userPoolId}/.well-known/openid-configuration
Чтобы проверить правильность формата URL, просто вставьте его в адресную строку браузера. Вы должны получить корректный JSON-ответ, содержащий endpoint авторизации, издателя (issuer) и другую информацию.
openid connect authorize scope: openid email
Другие полезные материалы