Как прочитать ответ SAML, исходящий от idp, чтобы пользователь вошел в приложение

Я новичок в разработке серверных приложений в SAP Cloud Platform и Nodejs. Я настроил службу аутентификации идентификации SAP в качестве поставщика удостоверений с дополнительной учетной записью в пульте управления SAP Cloud Platform. Приложение My MTA (UI5 + Nodejs), развернутое в суб-учетной записи облачного литейного цеха, использует службу UAA для аутентификации. Теперь, когда я получаю доступ к приложению, оно перенаправляет меня к IDP для аутентификации. После успешной аутентификации я вижу домашнюю страницу своего приложения. Я хочу идентифицировать пользователя, который вошел в приложение. Сведения о пользователе передаются как атрибуты утверждения от IDP в ответе SAML. Я могу видеть данные пользователя, такие как идентификатор, имя, в ответе SAML в инструментах разработчика Chrome. Я изо всех сил пытаюсь прочитать ответ, чтобы найти идентификатор пользователя. Я использую Nodejs на стороне сервера и SAP UI5 для интерфейса пользователя. Поскольку я новичок в Nodejs, ищу некоторые указатели / помощь для этого.


person Ravindra Pawar    schedule 11.04.2019    source источник


Ответы (1)


Если я правильно вас понял, вы пытаетесь получить данные зарегистрированного пользователя с сервера node.js (который, как я предполагаю, привязан к службе XSUAA)

Вам необходимо проверить токен JWT с помощью @sap/xssec и passport, чтобы получить сведения о пользователе. К нему можно получить доступ в вашем маршруте express.js, используя

req.user.id //Get the current user ID
req.authInfo //Can be used to check scope authorizations etc.

Например:

...
app.get('/', function (req, res, next) {
  res.send('Logged-In user: ' + req.user.id);
});
...

Для реализации см.

person hem    schedule 12.05.2019