通过 SDK UserAccessor API 在 SAP Cloud Foundry 应用程序中捕获 IDP 用户属性

Capture IDP User attributes in SAP cloud foundry app via SDK UserAccesor API

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

请各位指导帮助。

谢谢悉达多

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

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

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

让我知道这是否适合您!


原答案:

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

另请查看 this discussion 了解更多信息。