Как я могу использовать интерфейс React для входа на отдельный сервер узла с помощью IBM App ID?

Я хочу использовать идентификатор приложения IBM для выполнения аутентификации из приложения React с использованием отдельного приложения узла. Я подтвердил, что аутентификация возможна, когда веб-страницы обслуживаются из приложения узла (т.е. моя конфигурация верна). Я использую статью ниже в качестве руководства.

Я понимаю этот поток следующим образом: интерфейс вызывает api входа на сервер внутреннего узла. Сервер узла вызывает конечную точку авторизации oauth, которая возвращает (перенаправляет) на страницу входа в систему с идентификатором приложения во внешний интерфейс через сервер узла.

Это понимание правильное? Если да, то как настроен идентификатор приложения (на сервере узла) для перенаправления интерфейса React на страницу входа в систему с идентификатором приложения?

https://www.ibm.com/cloud/blog/securing-angularnode-js-applications-using-app-id


person Adrian    schedule 25.11.2019    source источник


Ответы (1)


Я буду использовать FE для вашего внешнего интерфейса и BE для вашего внутреннего интерфейса

Пользователь переходит на страницу вашего ИП, требующую авторизации. FE перенаправляет пользователя на URL-адрес авторизации идентификатора приложения. Пользователь аутентифицируется с помощью идентификатора приложения. Идентификатор приложения предоставляет браузеру code и URL-адрес перенаправления для возврата на ваш веб-сайт или любой авторизованный URL-адрес. Это может быть ваше БЫТЬ. Ваш BE обрабатывает код и обменивает его на токены OAuth (в зависимости от запроса: токен доступа, токен идентификации, токен обновления). Теперь BE необходимо перенаправить пользователя обратно в ваш FE.

Проблема в том, что вы не хотите передавать токены OAuth в FE с помощью перенаправления. Это означает, что вам нужен другой метод BE, вызывающий FE, чтобы передать токены для этого пользователя.

Все это не требует вычислительной мощности на вашей стороне и состоит из очень простого кода. Просмотрите свой проект, чтобы увидеть, действительно ли вам нужно усложнять это связью FE и BE.

Это понимание правильное? Если да, то как настроен идентификатор приложения (на сервере узла) для перенаправления интерфейса React на страницу входа в систему с идентификатором приложения?

ВЕ не перенаправляет пользователя, если пользователь не находится на веб-странице ВЕ. Вы можете позвонить своему BE, чтобы начать процесс авторизации и чтобы BE вернул URL-адрес перенаправления в FE, но страница, на которой находится пользователь, должна отправить перенаправление пользователю (например, нажатие кнопки).

person John Hanley    schedule 27.11.2019