点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我们正在XSA上构建包含多个微服务的应用程序。
现在,我正在努力为服务间通信正确设置安全令牌,即服务A需要调用服务B并为此传递一个oauth令牌。
在我们的设置中,每个服务都绑定到自己的xsuaa实例,以便能够管理与该服务直接相关的作用域。 在开发过程中,每个开发人员都在单独的空间中运行。
到目前为止,我看到了三个通过身份验证的常规选项。 不幸的是,我无法运行任何选项。
1)使用外部作用域,如应用程序安全描述符配置语法。
这里的约束似乎在一个空间中运行。 当我将" ServiceB!i8.read"硬编码到scopes_references中时,令牌将包含它。 不幸的是,使用$ XSAPPNAME(application,ServiceB).read无法正常工作,我希望将其解析为相同的绝对名称。
高度赞赏如何使用外部作用域的示例!
2)使用令牌交换。
服务B可以将从服务A接收到的令牌交换为特定于服务的令牌。 我试图收到 JWT承载令牌授予,但我收到的只是来自xsuaa的500服务器错误。 也许它不在SPS03中实现?
3)使用客户端凭据
此选项是最不优选的,因为这意味着要在服务B中使用用户上下文。无论如何,我不希望收到设置了任何引用权限的令牌。
对于选项1,一个完整的示例将非常感激。
如果我错过了其他选择,请随时让我知道。
此问题我目前阻止发布几乎完成的应用程序,所以我希望这里有人可以帮助我解决这个问题。
谢谢,
Philipp
我要为选项1添加当前设置:
提供范围的服务:
引用范围的服务
也许有人可以指出这里出了什么问题?
嗨,菲利普,
感谢您的提问。 我也非常希望看到您的解决方案,并希望有人能帮助您!
BR,德克
您是对的。 对于选项3,这是必需的,因此在本示例中,我将其省略。
一周热门 更多>