Поддержка OIDC Backchannel Logout

Одной из функций, которую я бы очень хотел видеть в поддержке основного плагина OIDC, является OpenID Connect Back-Channel Logout. Внедрение back-channel logout позволит поставщику идентификации (Identity Provider) удалённо инвалидировать сессию, что обеспечит корректную работу Single-Sign-Out: пользователь сможет выйти из другого сервиса (будь то сам IdP или другой сервис, подключённый к IdP через RP-initiated logout), и при этом он будет автоматически разлогинен и из Discourse. Это также позволяет корректно работать центральной функции «выйти из всех сессий» в IdP.

Я готов заняться реализацией этой функции самостоятельно, но поскольку необходимо хранить Session ID, предоставленный IdP, чтобы позже связать запрос на выход от IdP с правильной сессией в Discourse, мне, возможно, понадобится помощь, учитывая, что я впервые участвую в разработке (lol). Однако скоро, когда у меня появится немного больше времени, я попробую, и напишу, если возникнут проблемы.

1 лайк

Это действительно продуктовый пробел.

Если вы хотите, чтобы этим занялся более опытный специалист, и можете выделить бюджет, рассмотрите вариант с Marketplace

К сожалению, бюджета особо нет, так что я просто постараюсь написать патч сам. У меня приличный опыт в разработке ПО (форум, которым я управляю, посвящён программе, которую я сам разрабатываю, хаха), просто раньше я никогда не работал с кодовой базой Discourse, и она выглядит немного пугающе, хаха. Думаю, я довольно хорошо понимаю, что нужно сделать, просто мне нужно разобраться, как устроены плагины для Discourse (кажется, по этому поводу есть довольно хорошая документация, и я не думаю, что это будет слишком сложно понять, просто пока не было времени на это посмотреть).