首页 > 解决方案 > 通过 SDK UserAccesor API 在 SAP Cloud Foundry 应用程序中捕获 IDP 用户属性

问题描述

我想通过 UserAccessor SDK api 捕获来自 SAP IDP(身份和身份验证租户服务,如部门、称呼、公司等)的用户属性,但尽管这些属性已设置并在 IDP 用户中具有价值,并且与 IDP 和子帐户的所有集成在身份验证后到位,用户属性对象为空,我只能通过 JWT 和 UserAccessor api 检索特定属性,如名字、姓氏、电子邮件地址、用户组等,但其他属性没有运气,在 IDP 中我有在 SAP Identity authentication tenant 中的断言属性下也提到了这些属性。

请在这件事上给予指导和帮助。

谢谢悉达多

标签: sap-cloud-platformsap-cloud-sdk

解决方案


更新:由于我们现在已经确定了问题,我将更新我的答案以反映这一点。下面的原始答案已过时:

好的,问题是您没有将任何其他用户属性从您的身份提供者 (IdP) 映射到您的 JWT。据我所知,您需要做三件事:

  1. 您需要在您的xs-security.json(用于配置 XSUAA 服务实例的文件)中创建属性。该文档应该解释如何做到这一点。
  2. 您需要配置 IdP 公开哪些属性(在您的情况下是 SAP Identity & Authentication 服务。此文档看起来是开始查找的好地方)。
  3. 您需要将 IdP 公开的属性映射到xs-security.json. 在执行此步骤之前,您可能需要使用更新的配置重新配置(即删除、重新创建和重新绑定)您的 XSUAA 服务实例。然后,导航到 Cloud Platform Cockpit 中的应用程序,从左侧工具栏中单击“Security > Roles”并创建映射。

让我知道这是否适合您!


原答案:

据我所知,默认 IdP 不支持 SAML。如果没有 SAML,我不确定您是否可以将任何属性从 IdP 传播到 JWT。

另请查看此讨论以获取更多信息。


推荐阅读