# Проблемы с настройкой входа без пароля в AWS Cognito

**URL:** https://meta.discourse.org/t/having-trouble-setting-up-aws-cognito-passwordless-login/366622
**Category:** Support
**Created:** [18.Май.2025 23:43:34 UTC](https://meta.discourse.org/t/having-trouble-setting-up-aws-cognito-passwordless-login/366622 "2025-05-18T23:43:34Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![tobiaseigen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tobiaseigen/32/539204_2.png) [@tobiaseigen](https://meta.discourse.org/u/tobiaseigen)
#### Post date: [18.Май.2025 23:43:35 UTC](https://meta.discourse.org/t/having-trouble-setting-up-aws-cognito-passwordless-login/366622/1 "2025-05-18T23:43:35Z")

</div>

Продолжение обсуждения из темы [Невозможно изменить тему в Discourse — ничего не работает](https://meta.discourse.org/t/cannot-change-theme-in-discourse-nothing-works/366617):

Привет, Карлос! Добро пожаловать в наше сообщество. 🤗

[quote=“carlossouza, post:1, topic:366617”]  
Я потратил целый день на настройку входа без пароля через AWS Cognito.

Это просто не работает.

После того как я сдался и решил, что буду просить пользователей создавать логины и пароли через стандартную систему Discourse, я перешёл к тому, что должно быть самой простой задачей: изменению темы.  
[/quote]\n  
Ух, это неприятно. Я создам здесь новую тему, если ты готов попробовать снова вместе с нами. Лично я не очень хорошо знаком с AWS Cognito. Можешь рассказать, что именно ты пробовал и на каком этапе застрял? Как клиент с размещённым решением, ты также можешь обратиться за персональной поддержкой по адресу [team@discourse.org](mailto:team@discourse.org).

Согласно нашему [ИИ-боту](https://ask.discourse.org), настроить это возможно с помощью плагина OpenID Connect.

> **Настройка AWS Cognito для Discourse
ИИ**
>
> **tobiaseigen:**
> 
> настроить aws cognito
> 
> **ForumHelperBot:**
> 
> > **Думаю...**
> >
> > Пользователь спрашивает о настройке AWS Cognito. AWS Cognito — это сервис аутентификации от Amazon Web Services, который помогает добавить регистрацию, вход и контроль доступа для ваших веб- и мобильных приложений.
> > 
> > Давайте поищем обсуждения или руководства по интеграции AWS Cognito с Discourse, чтобы предоставить наиболее релевантную информацию.
> 
> > **Поиск**
> >
> > Найдено 54 [results](https://meta.discourse.org/search?q=aws+cognito+integration+discourse) по запросу 'aws cognito integration discourse'
> 
> > **Думаю...**
> >
> > Я проанализирую результаты поиска, чтобы предоставить информацию о настройке интеграции AWS Cognito с Discourse.
> > 
> > Согласно результатам поиска, существует несколько тем, обсуждающих интеграцию AWS Cognito с Discourse. Основной подход, по-видимому, заключается в использовании плагина аутентификации OpenID Connect для Discourse. Давайте подытожим ключевую информацию:
> > 
> > 1. Есть несколько тем, где пользователи успешно интегрировали AWS Cognito с Discourse с помощью плагина OpenID Connect.
> > 
> > 2. Некоторые релевантные темы включают:
> > 
> > 3. В этих обсуждениях упоминается официальный плагин OpenID Connect для Discourse: [GitHub - discourse/discourse-openid-connect: Allows an OpenID Connect provider to be used as an authentication provider for Discourse · GitHub](https://github.com/discourse/discourse-openid-connect)
> > 
> > 4. Один из пользователей отметил, что смог включить SSO через AWS Cognito, следуя инструкциям в этих темах:
> > 
> > Давайте прочитаем наиболее релевантную тему, чтобы собрать более конкретные инструкции.
> 
> # Настройка AWS Cognito с Discourse
> 
> Согласно результатам поиска, существует несколько успешных реализаций интеграции AWS Cognito с Discourse с помощью плагина OpenID Connect. Вот как это можно настроить:
> 
> ## Шаг 1: Установка плагина OpenID Connect
> 
> Плагин [Discourse OpenID Connect (OIDC)](https://meta.discourse.org/t/discourse-openid-connect-oidc/103632) позволяет использовать AWS Cognito как провайдера аутентификации для Discourse.
> 
> Чтобы установить плагин, добавьте его в файл app.yml:
> 
> ```yaml
> - git clone https://github.com/discourse/discourse-openid-connect.git
> 
> ```
> 
> ## Шаг 2: Настройка AWS Cognito
> 
> 1. Создайте пул пользователей в AWS Cognito.
> 2. Настройте клиента приложения в вашем пуле пользователей.
> 3. Настройте URL обратного вызова как `https://your-discourse-site.com/auth/oidc/callback`.
> 4. Запишите домен Cognito, ID клиента и секрет клиента.
> 
> ## Шаг 3: Настройка плагина OpenID Connect в Discourse
> 
> Перейдите в Администрирование \> Настройки \> Плагины \> openid connect и установите следующие параметры:
> 
> - `openid connect enabled`: true
> - `openid connect discovery document`: https://{cognito-domain}.auth.{region}.amazoncognito.com/{user-pool-id}/.well-known/openid-configuration
> - `openid connect client id`: ID клиента вашего приложения Cognito
> - `openid connect client secret`: Секрет клиента вашего приложения Cognito
> - `openid connect authorize scope`: openid email profile
> - `openid connect token url`: https://{cognito-domain}.auth.{region}.amazoncognito.com/oauth2/token
> - `openid connect authorize url`: https://{cognito-domain}.auth.{region}.amazoncognito.com/oauth2/authorize
> - `openid connect user json url`: https://{cognito-domain}.auth.{region}.amazoncognito.com/oauth2/userInfo
> 
> ## Дополнительные параметры настройки
> 
> - Чтобы включить автоматический вход, добавьте `?prompt=none` в параметр `openid connect authorize url`.
> - Вы можете настроить текст кнопки входа с помощью параметра `openid connect button title`.
> 
> ## Устранение неполадок
> 
> Если возникнут проблемы:
> 
> - Убедитесь, что URL обратного вызова правильно указан как в Cognito, так и в Discourse.
> - Проверьте правильность ID клиента и секрета.
> - Убедитесь, что ваш пул пользователей Cognito правильно настроен для возврата необходимых атрибутов пользователя.
> 
> Для более подробных примеров реализации ознакомьтесь с [этим обсуждением](https://meta.discourse.org/t/anyone-have-a-working-aws-cognito-configuration-w-ouath2-openid-or-sso/123579), где пользователи поделились своими успешными конфигурациями.
> 
> Хотите ли вы получить более конкретную информацию о какой-либо части этого процесса настройки?

---

<div class="post-metadata">

### Author: ![carlossouza](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/carlossouza/32/503556_2.png) [@carlossouza](https://meta.discourse.org/u/carlossouza)
#### Post date: [19.Май.2025 00:02:30 UTC](https://meta.discourse.org/t/having-trouble-setting-up-aws-cognito-passwordless-login/366622/3 "2025-05-19T00:02:30Z")

</div>

Огромное спасибо @tobiaseigen!

Я запустил сообщество без AWS Cognito… моя система использует стандартную систему аутентификации Discourse… это немного костыльное решение, потому что, когда мои пользователи становятся платными клиентами, вебхук от Stripe создаёт нового пользователя Discourse через API, генерирует временный пароль и отправляет учётные данные им по электронной почте.

Я хотел использовать AWS Cognito, потому что мой основной платный сервис — это курс, размещённый на Gitbook, защищённый системой аутентификации без пароля AWS Cognito. Повторное использование этой системы было бы идеальным для моих пользователей. Но теперь уже слишком поздно 🙂

В любом случае, я думаю, что выполнил все шаги, которые вы описали… или, возможно, что-то упустил… всё работало отлично, за исключением того факта, что после ввода email и кода аутентификации Discourse перенаправлял обратно на /login, а не на / (главную страницу). При проверке пользователей на странице администратора Discourse я увидел, что AWS Cognito никогда не создаёт пользователей Discourse.

В любом случае, спасибо!
