внедрить единый вход (saml2) вactjs без экспресса - PullRequest
1 голос
/ 29 марта 2019

я хочу реализовать sso saml2 с wso2 ei в реакции где 1. я иду проверить страницу, если я аутентифицирован или нет 2. если не аутентифицировано, я должен перенаправить на sso URL 3. при успешном входе в провайдер идентификации sso я перенаправляю на приложение реагирования с токеном 4. затем сохраните токен в localalstorage и продолжайте

Я попробовал это с паспортом и выразить, где рендеринг происходит на стороне сервера, но я хочу это сейчас на стороне клиента с реакцией меры 1. Я захожу на мою домашнюю страницу и нажимаю на страницу входа. 2.Это отвезет меня к провайдеру идентификации wso2, и я войду 3. затем я перенаправляю в мое экспресс-приложение

1 Ответ

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

Краткий ответ: вы не можете этого сделать.

Вы не можете использовать SAML без бэкэнда.SAML требует, чтобы вы зарегистрировали Sercice Provider (SP), который должен быть идентифицирован с сертификатом SSL.Поэтому у SP должен быть закрытый ключ, который вы не можете разослать клиенту браузера по понятным причинам.Кроме того, конечная точка подтверждения должна принимать HTTP-запрос POST, что традиционно может сделать только сервер.

Вы можете пропустить обнаружение IdP, если знаете, какой IdP вы хотите использовать, но фаза подтверждения не можетобойтись.У вас должна быть конечная точка подтверждения для единого входа.Эта конечная точка должна иметь возможность дешифровать сообщения, зашифрованные с помощью открытого ключа SP, поэтому она должна быть реализована на сервере.

Чтобы получить как можно ближе к тому, что вы хотите, вы можете реализовать SP какотдельный микросервис, который имеет только одну (или две, если вы используете DS) конечные точки.Конечная точка подтверждения вашей службы входа в систему может создать токен для пользователя и перенаправить его во внешний интерфейс, содержащий маркер в переменной запроса.

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