Rocket.Chat автоматический вход - PullRequest
0 голосов
/ 28 мая 2018

Мы выбрали Rocket.Chat как готовый продукт с открытым исходным кодом, с которым наша команда может общаться.

Все, что мы хотим, это иметь возможность выполнять вход в систему за кулисами, поэтому, когдапользователь переходит на URL-адрес Rocket.Chat (или любой ярлык / маршрутный URL и т. д.), в который он уже вошел.

Имена пользователей и пароли предварительно заданы и известны своей логикой (не беспокоясь о безопасностипроблемы).

Я прочитал документацию для Интеграция iFrame , но не мог понять, как использовать ее для описанной необходимости.Я также пытался понять iframe-auth-example , но безрезультатно.

Является ли подход к интеграции iFrame правильным для этого требования?

Буду признателен за помощь в отношении имеющихся у нас вариантов и способов их реализации.

Заранее спасибо!

1 Ответ

0 голосов
/ 13 марта 2019

Мы собираемся создать аналогичную проблему с RC, вы можете сделать следующее:

  • Использовать интеграцию iFrame в Rocket.Chat:

В этом подходе выможет встроить невидимый iFrame, и каждый раз, когда пользователь выполняет вход в систему, вы можете запустить функцию, которая связывается с iFrame и установить учетные данные сеанса (действительно, только токен, но должен быть действительным токеном для RC), чтобы сделать автоматический вход в систему для пользователя, икогда он или она перейдет по ссылке чата, у них уже будет открыт сеанс.

<script>
window.parent.postMessage({
  event: 'login-with-token',
  loginToken: 'your-token'
}, 'http://your.rocket.chat.url');
</script>
  • OAUTH:

Другим подходом может быть создание службы OAUTH и ее настройка в качестве службы входа в Rocket.Chat втаким образом, если вы поделитесь URL-адресом с вашим RC-клиентом, вы можете запустить небольшую функцию, которая делает автоматический вход с учетными данными OAUTH с вашей главной стороны в RC (это наше решение проблемы на данный момент, но немного сложнеечем первый вариант) но это более сложный подход.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...