CSRF令牌验证失败,触发Microsoft Power Virtual Agent BOT通过OData服务向S/4



尝试通过HTTP AZURE网关触发PATCH请求时出现错误通过OData v2服务从Power Virtual Agent BOT迁移到S/4 HANA。当我们从POSTMAN和通过SAP Gateway Client进行测试时,同样的服务可以正常工作。

BOT部署在MS Teams上。

以下是从BOT角度配置的步骤:

  1. 触发GET请求获取CSRF令牌使用以下HTTP头

    授权:无记名(tokenvalue)X-CSRF-Token:取Set-Cookie: Fetch

    上述cookie值正在被转换,以消除'/',空格和逗号。相同的已被%2F, %2b和;

  2. 一旦CSRF令牌被获取,它将被存储在一个局部变量中并传递给PATCH请求

    Authorization: Bearer(tokenvalue)X-CSRF-Token:Cookie:

Below is the error we are able to see in Power Automate Flow.
**
"error": {
"code": 403,   
"message": "The response is not in a JSON format.",
"innerError": "CSRF token validation failed"
}
}
```**

我们期待这个补丁请求的成功调用。当在POSTMAN和本机SAP网关客户端中测试时,这在同一用户下运行良好。

您正在使用Microsoft本地网关连接您的odata服务。本地网关总是建立一个新的http连接,该连接将在X-CSRF-TOKEN过期也许以后的版本会支持这个

最新更新