如何通过SAP网关调用生成JWT-最佳实践

2020-08-22 13:08发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我需要从SAP后端服务器检索JWT(Json Web令牌)以进行外部身份验证。 但是,似乎没有任何可用于jwt生成的ABAP库/函数。 您对在SAP后端中生成此jwt有何建议?

令牌的实际生成当然非常简单( https://jwt.io /),但在ABAP中似乎不可能。 我们目前正在研究使用JCo连接到Java堆栈并在其中运行该代,或者可能在netweaver上运行一个后端服务器,如有必要,可以从前端UI5应用程序中调用该后端服务器。 您对最佳做法有何建议?

谢谢您的任何建议。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我需要从SAP后端服务器检索JWT(Json Web令牌)以进行外部身份验证。 但是,似乎没有任何可用于jwt生成的ABAP库/函数。 您对在SAP后端中生成此jwt有何建议?

令牌的实际生成当然非常简单( https://jwt.io /),但在ABAP中似乎不可能。 我们目前正在研究使用JCo连接到Java堆栈并在其中运行该代,或者可能在netweaver上运行一个后端服务器,如有必要,可以从前端UI5应用程序中调用该后端服务器。 您对最佳做法有何建议?

谢谢您的任何建议。

8条回答
bbpeas
1楼-- · 2020-08-22 13:44

绿色

您可以在哪里读取JWT令牌? 我们有一个类似的用例,需要在odata服务中检索JWT令牌。

谢谢

Vamshi Bommena

亦是此间程序员
2楼-- · 2020-08-22 13:46

如果您描述一般要求,可能会有所帮助。 然后,我们也许可以为您提供替代解决方案。 但是您也可以使用ABAPGit在ABAP中的JWT一代中启动社区项目。

Violet凡
3楼-- · 2020-08-22 13:55

vamshi bommena :请参见上面的答案-您需要区分以下两种情况:ABAP充当OAuth2客户端还是OAuth2服务器。

亲切的问候,
Wolfgang

暮风yp
4楼-- · 2020-08-22 13:37

谢谢您的评论Gregor。 看来我将不得不为这个问题做些努力,并用ABAP或类似方法解决。 完成后,我将尝试撰写博客文章或启动社区项目。

对于一般要求,我们需要使用外部服务(Web托管平台)进行身份验证,以确保当前登录我们的SAP系统的用户有权访问所请求的资源。 当前接受的对该服务进行身份验证的方式是通过传递jwt。 通常,我们要验证是否有权使用SAPUI5系统(具有ABAP网关链接)中的单点登录的用户访问外部资源,并将该信息安全地传递到目标系统。 由于jwt生成对于这种目的非常普遍,我认为在SAP中可能已经有一种标准的方法可以做到这一点,而我可能错过了。 谢谢您的帮助。

me_for_i
5楼-- · 2020-08-22 13:56

Vmshi Bommena 要求最终用户使用Azure AD登录到任何moblie应用程序/Web应用程序并获取JWT令牌,现在在访问任何odata服务时,我只想验证和验证令牌; https://wiki.scn.sap.com/wiki/display/Security/Access+Microsoft+Azure+using+the+OAuth+2.0+Client+API

基本上重新登录用户,而不仅仅是验证开放ID令牌。请提出建议。

闻人可可
6楼-- · 2020-08-22 13:44

ABAP可以充当OAuth 2.0客户端,使用SAML承载令牌授予,您可以 如果(外部)OAuth 2.0授权服务器也支持该授予类型,则可以实现所需的"主体传播"功能。

充当OAuth 2.0客户端,ABAP不在乎OAuth访问令牌格式- JWT也欢迎。 仅当充当OAuth 2.0资源服务器时,ABAP系统才会坚持仅使用其自己的OAuth访问令牌-换句话说:ABAP不允许使用外部OAuth 2.0授权服务器; 无法拆分授权服务器和资源服务器。

一周热门 更多>