Javascript 如何读取来自idp的SAML响应以使用户登录到应用程序

Javascript 如何读取来自idp的SAML响应以使用户登录到应用程序,javascript,node.js,sap-fiori,cloudfoundry-uaa,sap-cloud-platform,Javascript,Node.js,Sap Fiori,Cloudfoundry Uaa,Sap Cloud Platform,我不熟悉SAP云平台和Nodejs中的服务器端应用程序开发。我已将SAP identity authentication service配置为一个身份提供商,其子帐户位于SAP云平台驾驶舱中。部署在cloud foundry子帐户中的我的MTA(UI5+Nodejs)应用程序使用UAA服务进行身份验证。现在,当我访问应用程序时,它会将我重定向到IDP进行身份验证。成功验证后,我可以看到我的应用程序主页。我想识别已登录应用程序的用户。用户详细信息作为断言属性从SAML响应中的IDP传递。我可以在c

我不熟悉SAP云平台和Nodejs中的服务器端应用程序开发。我已将SAP identity authentication service配置为一个身份提供商,其子帐户位于SAP云平台驾驶舱中。部署在cloud foundry子帐户中的我的MTA(UI5+Nodejs)应用程序使用UAA服务进行身份验证。现在,当我访问应用程序时,它会将我重定向到IDP进行身份验证。成功验证后,我可以看到我的应用程序主页。我想识别已登录应用程序的用户。用户详细信息作为断言属性从SAML响应中的IDP传递。我可以在chrome开发者工具的SAML响应中看到用户详细信息,如id、名称。我正在努力阅读响应以查找用户id。我使用Nodejs作为服务器端,使用sapui5作为前端。因为我对Nodejs还不熟悉,所以我正在寻找一些指针/帮助来实现这一点。

如果我理解正确,那么您正在尝试从node.js服务器(我假设它绑定到一个XSUAA服务)获取登录的用户详细信息

您需要使用
@sap/xssec
passport
验证JWT令牌,以获取用户详细信息。您可以在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);
});
...
有关实施,请参阅