Запуск создания аккаунта/входа во внешнем сервисе при входе пользователя в Discourse

Большое спасибо за обсуждение.

Я прочитал ссылку: Use Discourse as an identity provider (SSO, DiscourseConnect) - #8 by reverend_paco

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

В моём случае у меня есть JS-скрипт, который выполняется на сайте Discourse, и я хочу, чтобы этот JS обращался к пути на том же сервере и получал обратно cookie для PocketBase.

На самом деле я использую nginx-прокси перед Discourse, поэтому просто добавил специальный маршрут /pb/auth (например). Когда мой JS обращается к этому маршруту, бэкенд-прокси-сервер (не являющийся частью Discourse) принимает соединение и пытается декодировать сессионный cookie _t.

Я поступал так, потому что это казалось немного проще, чем добавлять плагин для Discourse (я меньше знаком с ним и с настройкой разработки и т.д.). Если дело сводится к простому декодированию cookie с использованием base64 и хешированию sha, я думал, что это обеспечит защищённую полезную нагрузку для определения пользователя.

Но если вы считаете, что существует простой способ создать плагин, добавляющий этот маршрут в Discourse, я очень заинтересован в этом. Это кажется правильным подходом в долгосрочной перспективе. Но я старый программист на Perl, поэтому предпочитаю самый ленивый путь, и мой маршрут через nginx казался мне ещё более ленивым. :slight_smile: