# Подтверждение активированного поэтапного пользователя отправляет ему сообщение о входе в систему, но не позволяет войти

**URL:** https://meta.discourse.org/t/approving-an-activated-staged-user-tells-them-to-log-in-but-doesnt-allow-them-to-log-in/200276
**Category:** Bug
**Created:** [13.Август.2021 03:59:24 UTC](https://meta.discourse.org/t/approving-an-activated-staged-user-tells-them-to-log-in-but-doesnt-allow-them-to-log-in/200276 "2021-08-13T03:59:24Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![jamezpolley](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jamezpolley/32/155754_2.png) [@jamezpolley](https://meta.discourse.org/u/jamezpolley)
#### Post date: [13.Август.2021 03:59:25 UTC](https://meta.discourse.org/t/approving-an-activated-staged-user-tells-them-to-log-in-but-doesnt-allow-them-to-log-in/200276/1 "2021-08-13T03:59:25Z")

</div>

# Шаги для воспроизведения

1. Перейдите на `/my/messages`
2. Нажмите «Новое сообщение»
3. Введите адрес электронной почты, который не привязан ни к одному существующему пользователю
4. Напишите и отправьте сообщение.

Это отправит письмо и создаст пользователя в статусе «ожидание».

1. В панели администратора активируйте пользователя.  
a. В моём случае мой сайт требует одобрения новых аккаунтов, поэтому мне также пришлось одобрить пользователя. Не уверен, насколько это универсально.
2. Пользователь получает письмо:

> Вы были одобрены на …
> 
> Сотрудник одобрил ваш аккаунт на …
> 
> Теперь вы можете получить доступ к своему новому аккаунту, войдя по адресу:

1. Пользователь переходит по указанной в письме ссылке.

# Ожидаемый результат

Пользователь может войти в систему

# Фактический результат

- В диалоговом окне входа при вводе адреса электронной почты и выборе «Пропустить пароль; отправить мне ссылку для входа» появляется сообщение «Аккаунт не найден …».

- При нажатии «Забыли пароль», а затем «Сбросить пароль» появляется сообщение «Аккаунт не найден …».

- Пользователь _может_ создать новый аккаунт с этим адресом электронной почты, но (по крайней мере, в моих тестах) это снова переводит его в статус «неактивен» и отправляет письмо «Подтвердите свой новый аккаунт». Это не то, чего можно ожидать после того, как ему уже сообщили: «Вы были одобрены»…

---

<div class="post-metadata">

### Author: ![jamezpolley](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jamezpolley/32/155754_2.png) [@jamezpolley](https://meta.discourse.org/u/jamezpolley)
#### Post date: [13.Август.2021 04:11:22 UTC](https://meta.discourse.org/t/approving-an-activated-staged-user-tells-them-to-log-in-but-doesnt-allow-them-to-log-in/200276/2 "2021-08-13T04:11:22Z")

</div>

Дополнительная бонусная проблема: сообщение, которое я отправил из Discourse в первый раз, когда столкнулся с этой проблемой, содержало ссылку-приглашение. Пользователи не могли воспользоваться этой ссылкой-приглашением:

 ![image](https://global.discourse-cdn.com/meta/original/3X/1/3/1373d9ba3a3e305094134fc3b776ecaa14eb1a39.png)

Я воспроизвёл проблему без ссылки-приглашения, поэтому не упоминал её в описании воспроизведения, но указываю здесь, так как это, возможно, ещё один намёк, который поможет понять, в какое странное состояние мне удалось привести учётные записи.

---

<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: [13.Август.2021 04:21:42 UTC](https://meta.discourse.org/t/approving-an-activated-staged-user-tells-them-to-log-in-but-doesnt-allow-them-to-log-in/200276/3 "2021-08-13T04:21:42Z")

</div>

Интересно, что вы можете активировать пользователя со статусом «ожидает регистрации» через страницу администратора пользователей. Пользователи со статусом «ожидает регистрации» не должны входить в систему, поэтому возможность их активации кажется нелогичной. Такие пользователи могут превратиться в полноценных пользователей, создав учётную запись, после чего получат доступ ко всем сообщениям, в которых они ранее участвовали только по электронной почте.

Так что один из вариантов для вас — просто не делать этого. 🙂 Когда вы хотите пригласить кого-то на свой сайт, пригласите его обычным способом, а не создавая пользователя со статусом «ожидает регистрации» через электронную почту.

Но, возможно, мы сможем предотвратить такое поведение на случай, если с ним столкнутся другие. Я проведу быстрый тест на своём сайте, чтобы проверить, смогу ли я воспроизвести эту ситуацию.

---

<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: [13.Август.2021 04:31:43 UTC](https://meta.discourse.org/t/approving-an-activated-staged-user-tells-them-to-log-in-but-doesnt-allow-them-to-log-in/200276/4 "2021-08-13T04:31:43Z")

</div>

Хорошо, мне удалось воспроизвести это на моем сайте. Действительно, можно активировать пользователя в режиме ожидания, что неверно. Отличное замечание!

---

<div class="post-metadata">

### Author: ![jamezpolley](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jamezpolley/32/155754_2.png) [@jamezpolley](https://meta.discourse.org/u/jamezpolley)
#### Post date: [13.Август.2021 04:34:36 UTC](https://meta.discourse.org/t/approving-an-activated-staged-user-tells-them-to-log-in-but-doesnt-allow-them-to-log-in/200276/5 "2021-08-13T04:34:36Z")

</div>

> [@tobiaseigen](#):
>
> Ожидается, что пользователи в статусе «staged» не будут входить в систему, поэтому нет смысла предоставлять возможность их активации.

Это имеет смысл!

> [@tobiaseigen](#):
>
> Если вы хотите пригласить кого-то на свой сайт, просто пригласите их обычным способом.

Я смог подтвердить, что для пользователя в статусе «staged» (который ещё не активирован) это работает отлично. Если бы я, продолжив своё первоначальное сообщение, отправил приглашения напрямую (то есть выбрал «Ограничить этим адресом электронной почты», а затем нажал кнопку «Отправить приглашение по электронной почте») на эти адреса, они могли бы просто перейти по ссылке приглашения и создать учётную запись.

Однако я _не могу_ сделать это для _активированного_ пользователя в статусе «staged»: в этом случае попытка пригласить его завершается ошибкой, так как этот адрес электронной почты уже связан с учётной записью.

Но поскольку пользователь в статусе «staged» никогда не должен быть активирован, это не должно стать проблемой 🙂

> [@jamezpolley](#):
>
> Дополнительная проблема: сообщение, которое я отправил из Discourse при первой встрече с этой проблемой, содержало ссылку приглашения. Пользователи не могли воспользоваться этой ссылкой:

Разумеется, это было приглашение с ограничением «N использований». Не уверен, влияет ли это на возможность использования ссылки приглашения, но, учитывая то, что мы уже выяснили, подозреваю, что эта ссылка сработала бы нормально, если бы я не активировал учётные записи заранее.
