繁体   English   中英

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

[英]How to read SAML response coming from idp to get the user being logged into the application

我是SAP Cloud Platform和Nodejs中服务器端应用程序开发的新手。 我已使用SAP Cloud Platform座舱中的子帐户将SAP身份验证服务配置为身份提供者。 我部署在cloud Foundry子帐户中的MTA(UI5 + Nodejs)应用程序使用UAA服务进行身份验证。 现在,当我访问该应用程序时,它会将我重定向到IDP进行身份验证。 身份验证成功后,我可以看到我的应用程序主页。 我想识别已登录该应用程序的用户。 用户详细信息在SAML响应中作为IDP的断言属性传递。 我可以在Chrome开发人员工具的SAML响应中看到用户详细信息,例如ID,名称。 我正在努力阅读响应以查找用户ID。 我在服务器端使用Nodejs,在前端使用SAP UI5。 由于我是Nodejs的新手,因此寻求一些指针/帮助来实现这一目标。

如果我对您的理解正确,那么您正在尝试从node.js服务器(我认为已绑定到XSUAA服务)中获取登录的用户详细信息。

您需要使用@sap/xssecpassport来验证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);
});
...

有关实施,请参阅此页面

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM