点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嘿,我正在创建一个基于SAP C...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嘿,我正在创建一个基于SAP C...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嘿,
我正在创建一个基于SAP Cloud SDK的应用程序,该应用程序可以通过SaaS Provisioning服务进行订阅。 验证通过使用xsuaa-service的approuter以通常的方式进行。
现在,我需要对某些应用程序端点的API访问权限。 我可以利用xsuaa服务的客户端ID和密码来获取JWT令牌并访问这些端点。 但是:该JWT令牌仅限于提供者帐户-从而仅限于单个租户!
我尝试了几件事-尤其是为XSUAA创建服务密钥-但它们总是获得相同的凭据和身份区域。
是否可以通过XSUAA创建范围在身份区域内的其他OAuth客户端?
其他信息:该问题适用于SAP Cloud SDK的Java和JS/TS风格...
您好Tobias,
如果我正确理解了您的问题,则您在一个子帐户中拥有一个应用程序(我们称该子账户为"提供者"),而您从另一个子账户中订阅了该应用程序(我们将此账户称为"一个订户")。
我了解您现在要实现的是代表请求的租户(例如订户租户)从您的应用程序调用服务。
这里以目标服务为例(在SAP Cloud SDK中已经为您解决了所有这些问题)。 如果查看绑定到目标服务的服务(在应用程序的环境变量的VCAP_SERVICES中,可从命令行通过" cf env"进行访问),您将在此处找到三个相关条目: >
为了获得目标服务的访问令牌,您需要使用clientid和clientsecret作为凭据,针对给定URL的"/img/oauth/token"端点执行客户端凭据授予*。 请注意,URL包含" provider"作为子域,这恰好是您的应用程序所在的子帐户的名称。这不是巧合,而是XSUAA服务(我们从中获取令牌的服务)用来确定的机制 向其租户请求令牌。 这意味着,如果请求应代表"订户"租户完成,则只需将URL中的"提供者"替换为请求租户的名称,在本例中为"订户"。 在运行时,您将从触发应用程序中所有这些请求的传入请求的用户令牌(JWT)中获取此信息。
在适用于JavaScript的SAP Cloud SDK中,您可以使用serviceToken 函数。
我希望这能回答您的问题! 如果没有,请随时提供更多详细信息!
最诚挚的问候,
丹尼斯
*还有其他赠款,您需要的赠款取决于用例和服务
一周热门 更多>