状态为403的禁止的$ batch完成-请求包含无效的x-csrf令牌"

2020-08-22 10:49发布

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

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


我正在尝试使用应用路由器开发MTA应用。
我有一个基于Java odata服务的服务。 Java OData服务是XSA OData V4实现,我尝试将其移动到云中。

我通过以下方式配置了应用路由器:

-名称:xxx-approuter

 ...
 参数:
 SAP_JWT_TRUST_ACL:[{" clientId":" *"," identityzone":" *"}]
 特性:
 目的地:
 -名称:dest_odata_srv
 网址:" https://pUsertrial-dev-xxx-services-odatav4.cfapps.eu10.hana.ondemand.com"
 forwardAuthToken:true 


应用路由器的xs-app.json如下:

 {
   " welcomeFile":"/cp.portal",
   " authenticationMethod":"路由",
   "路线":[
     {
       " source":" ^(。*)$",
       " target":" $ 1",
       " service":" html5-apps-repo-rt",
       " authenticationType":" xsuaa"
     },
     {
       " source":" ^(/java/odata/v4/.*)$",
       " target":" $ 1",
       "范围": [
         " uaa.user"
       ],
       " authenticationType":" xsuaa",
       " destination":" dest_odata_srv",
       " csrfProtection":是
     }
   ]
 }
 


mta的xs-security类似于:
 {
   " xsappname":" xxx",
   "租户模式":"专用",
   " description":"被调用应用程序的安全配置文件",
   "范围":[
     {
       " name":" uaa.user",
       "描述":" UAA"
     }
   ],
   "角色模板":[
     {
       " name":" Token_Exchange",
       " description":" UAA",
       "范围参考":[
         " uaa.user"
       ]
     }
   ]
 }
 

我能够从应用路由器URL启动fiori启动板,我可以登录,启动fiori应用,但是当Fiori应用调用后端服务时,我在浏览器控制台中收到以下错误:403-禁止

当我检查应用程序路由器日志时:
 {
   " write_at":" 2020-03-11T08:03:40.623Z",
   " write_ts":1583913820623000000,
   " csn_component":"-",
   " correlation_id":" a3dbd3a4-0c93-487f-7167-a469afc9e58d",
   " type":" log",
   " logger":" nodejs-logger",
   " layer":"/img/Handler",
   " level":"错误",
   " container_id":" 10.0.137.26",
   " component_type":"应用程序",
   " component_id":" 139add06-272b-4169-aba6-66268295a135",
   " component_name":" xxx-approuter",
   " component_instance":-1,
   " source_instance":-1,
   " organization_id":"-",
   "机构名称": "-",
   " space_id":" cf8c6c68-564f-47be-b6ef-ba60b4b97af7",
   " space_name":" dev",
   " request_id":" a3dbd3a4-0c93-487f-7167-a469afc9e58d",
   " msg":"对/java/odata/v4/xxx/$ batch的POST请求完成,状态为403-该请求包含无效的x-csrf令牌"
 }
 


登录用户已分配了在安全文件中定义的角色Token_Exchange。

有人知道配置有什么问题吗?

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

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


我正在尝试使用应用路由器开发MTA应用。
我有一个基于Java odata服务的服务。 Java OData服务是XSA OData V4实现,我尝试将其移动到云中。

我通过以下方式配置了应用路由器:

-名称:xxx-approuter

 ...
 参数:
 SAP_JWT_TRUST_ACL:[{" clientId":" *"," identityzone":" *"}]
 特性:
 目的地:
 -名称:dest_odata_srv
 网址:" https://pUsertrial-dev-xxx-services-odatav4.cfapps.eu10.hana.ondemand.com"
 forwardAuthToken:true 


应用路由器的xs-app.json如下:

 {
   " welcomeFile":"/cp.portal",
   " authenticationMethod":"路由",
   "路线":[
     {
       " source":" ^(。*)$",
       " target":" $ 1",
       " service":" html5-apps-repo-rt",
       " authenticationType":" xsuaa"
     },
     {
       " source":" ^(/java/odata/v4/.*)$",
       " target":" $ 1",
       "范围": [
         " uaa.user"
       ],
       " authenticationType":" xsuaa",
       " destination":" dest_odata_srv",
       " csrfProtection":是
     }
   ]
 }
 


mta的xs-security类似于:
 {
   " xsappname":" xxx",
   "租户模式":"专用",
   " description":"被调用应用程序的安全配置文件",
   "范围":[
     {
       " name":" uaa.user",
       "描述":" UAA"
     }
   ],
   "角色模板":[
     {
       " name":" Token_Exchange",
       " description":" UAA",
       "范围参考":[
         " uaa.user"
       ]
     }
   ]
 }
 

我能够从应用路由器URL启动fiori启动板,我可以登录,启动fiori应用,但是当Fiori应用调用后端服务时,我在浏览器控制台中收到以下错误:403-禁止

当我检查应用程序路由器日志时:
 {
   " write_at":" 2020-03-11T08:03:40.623Z",
   " write_ts":1583913820623000000,
   " csn_component":"-",
   " correlation_id":" a3dbd3a4-0c93-487f-7167-a469afc9e58d",
   " type":" log",
   " logger":" nodejs-logger",
   " layer":"/img/Handler",
   " level":"错误",
   " container_id":" 10.0.137.26",
   " component_type":"应用程序",
   " component_id":" 139add06-272b-4169-aba6-66268295a135",
   " component_name":" xxx-approuter",
   " component_instance":-1,
   " source_instance":-1,
   " organization_id":"-",
   "机构名称": "-",
   " space_id":" cf8c6c68-564f-47be-b6ef-ba60b4b97af7",
   " space_name":" dev",
   " request_id":" a3dbd3a4-0c93-487f-7167-a469afc9e58d",
   " msg":"对/java/odata/v4/xxx/$ batch的POST请求完成,状态为403-该请求包含无效的x-csrf令牌"
 }
 


登录用户已分配了在安全文件中定义的角色Token_Exchange。

有人知道配置有什么问题吗?

付费偷看设置
发送
1条回答
悠然的二货
1楼-- · 2020-08-22 11:26

如果您提供格式正确的JSON,将使回答问题变得更加容易。 您也可以给我的示例应用程序 bookshop-java 尝试一下,事实证明它可以正常工作,如果 您仍然有问题。

一周热门 更多>