如何读取来自 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 的新手,所以我正在寻找一些 pointers/help 来实现这一点。
如果我没理解错的话,你正试图从 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);
});
...
具体实现参考this page
我是 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 的新手,所以我正在寻找一些 pointers/help 来实现这一点。
如果我没理解错的话,你正试图从 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);
});
...
具体实现参考this page