Нельзя ли использовать единый вход с помощью Keycloak OAuth из приложения Direct Grant в перенаправленное приложение? - PullRequest
0 голосов
/ 06 ноября 2019

Отказ от ответственности: надеюсь, что это не противоречит руководящим принципам, я также задавал этот вопрос на форумах Keycloak https://keycloak.discourse.group/t/sso-impossible-from-direct-grant-app-to-redirected-app/319

Я обдумывал эту проблему и подозреваю, что это невозможно, поэтомуЯ ищу подтверждение или подтверждение.

У меня есть 2 приложения, которые мы назовем «происхождение» и «пункт назначения». Мне нужно включить SSO навигацию от «источника» до «места назначения». Оба используют один и тот же экземпляр Keycloak (с OAuth, а не SAML2). Это было бы легко, если бы оба приложения использовали перенаправление ... но они этого не делают, «origin» использует прямой доступ.

Конечный пользователь входит в систему «origin», предоставляя логин + пароль непосредственноВ пользовательском интерфейсе приложения пользователь устанавливает интерфейс WebSocket со своим бэкэндом и использует его для отправки учетных данных пользователя; бэкэнд вызывает API Keycloak с логином + паролем и получает токены для всех дальнейших операций (доступ к API). Для каждого WebSocket существует один сеанс, пользовательский интерфейс никогда не знает о токенах или Keycloak, а просто вызывает бэкэнд с токенами, и когда пользователь выходит из системы, WebSocket закрывается и контейнер бэкэнда уничтожается.

«Пункт назначения »более классический, он обычно использует Keycloak с перенаправлением.

Я хочу, чтобы пользователь мог переходить к пункту назначения без запроса учетных данных.

Из того, что я нашелв Интернете это кажется невозможным. Refs:

Так что мои вопросы ...

  • так ли этовозможно?
  • Может ли приложение «origin» поместить свои токены в файл cookie, который будет найден приложением «destination», или, точнее, по интерфейсу входа в Keycloak?
  • может «origin»”Вызываете ли вы какой-нибудь API Keycloak, чтобы сообщить ему, что приложение-получатель может считаться вошедшим в систему с одинаковыми токенами? Таким образом, когда приложение «назначение» пытается войти в систему, Keycloak даже не запрашивает учетные данные.
  • есть ли другой обходной путь? В долгосрочной перспективе я мог бы попросить «origin» использовать перенаправление, но краткосрочный хак был бы крут.

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

Любая помощь или совет приветствуются: -)

...