Teachable, Discourse и SSO

У нас есть аккаунт в Teachable с примерно 5 уровнями членства. Когда нового участника добавляют в уровень Teachable, мы хотим, чтобы он получал доступ к Discourse через SSO и доступ к определённым категориям (которые уже определены через группы).

Если участник перестаёт платить, он должен потерять доступ к платным категориям Discourse, но сохранить доступ к бесплатным категориям.

Более серьёзный вопрос — что происходит, если кто-то регистрируется в Discourse, но никогда не присоединяется к курсу Teachable? Или регистрируется в Discourse сначала, а затем в Teachable?

Как мне понять, что в конечном итоге управляет SSO для Teachable и Discourse? Нужна ли мне третья платформа (например, WordPress) в качестве провайдера SSO?

И если да, то схема будет такой:

  • WordPress → Discourse
  • WordPress → Teachable

И никогда:

  • Teachable → Discourse

??

Спасибо!

Это сложно сказать без дополнительной информации о Teachable. Похоже, что вы не можете использовать их API, если не находитесь на тарифном плане Pro.

Если вы знаете, как заставить Teachable управлять WordPress и как управлять группами в WordPress, которые затем синхронизируются с Discourse, то это может сработать.

Интеграция Teachable с Discourse была бы лучшим вариантом, если это возможно, но трудно сказать, реализуемо ли это. Если у вас есть доступ к их API, то плагин для Discourse, который проверял бы статус пользователя в Teachable (или, что ещё лучше, делал бы Teachable источником SSO), мог бы стать тем, что вам нужно.

Идеальное решение — это чтобы Teachable добавила поддержку DiscourseConnect аналогично тому, как это сделала Memberful: Integrate Discourse with Memberful - Memberful. Это должно быть реализовано самой платформой Teachable. Возможно, стоит спросить их об этом. Они, вероятно, могли бы получить помощь в настройке интеграции от команды Discourse или от сообщества Meta.

На данный момент, на мой взгляд, лучшее, что можно сделать — использовать вебхуки Teachable для отправки приглашения по электронной почте в Discourse при регистрации нового пользователя в Teachable. Подробнее об этом здесь: What can the Teachable webhook do? - #3 by RGJ

Обратите внимание, что подход, описанный в этом посте, также можно применять на сайтах, не размещённых на платформе Communiteq. Это делается путём указания вебхуку Teachable отправлять данные в Zapier (или аналогичный сервис), который затем инициирует отправку приглашения по электронной почте в Discourse. Инструкции по настройке этого в Zapier доступны здесь: Automate sending Discourse invite emails with Zapier.