尝试获取 csrf 令牌时 SAP 网关未经授权

SAP gateway unauthorized when trying to get a csrf token

SAP 网关在尝试获取 csrf 令牌时出现 403 未授权。

读取操作使用相同的用户名/密码。

我查看了 sap 论坛中的其他一些帖子,并在那里发布了: https://answers.sap.com/questions/715798/sap-gateway-unauthorized-when-trying-to-get-a-csrf.html

我们正在使用 http,但我们将 login/ticket_only_by_https 设置为 0。

我也查看了服务,但没有看到参数 ~CHECK_CSRF_TOKEN = 0,如下所述:https://archive.sap.com/discussions/thread/3723417

参数列表为空白。

还有其他想法吗?

我写了一个小的 c# 程序来尝试获取 csrf 令牌,它对我们的测试系统有效,但在客户的系统上却失败了。我还没弄明白为什么。

修复它的一种方法是将以下内容附加到 URL: “?spnego=禁用”。

我在以下位置找到此信息:

https://launchpad.support.sap.com/#/notes/0002462330

2462330 - 您的浏览器未配置为在 Fiori 客户端上使用 SPNego 错误 - FC/KAP 2017 年 4 月 24 日起的第 1 版英文版 Component:MOB-FC Priority:Normal Category:Problem 向客户发布 Status:Released 额定帮助: (2个人) 质量评级:  描述产品本文档引用自语言评价本文档 症状 尝试将 Fiori 客户端 iOS 连接到 Netweaver 网关时收到错误 "Your browser is not configured for using SPNego Press F5 (Page Refresh) to continue"。 环境 • Fiori 客户端 1.8.7 iOS • 配置了 SPNego 的 Netweaver 网关 重现问题 1. 使用 SPNego(协商)身份验证配置 Netweaver Gateway 和 Fiori Launchpad。 2. 尝试连接 iOS Fiori 客户端。 3.观察者误差"Your browser is not configured for using SPNego"。 原因 所有平台上的 Fiori Client 都不支持 SPNego(协商)身份验证。 解析度 用户向 Fiori URL 添加了 URL 参数 spnego=disabled,问题已解决。例子: http://:/sap/bc/ui5_ui5/ui2/ushell/shells/abap/FioriLaunchpad.html/?spnego=disabled

另一种修复它的方法可能 是确保在 url 的末尾有一个尾随 / 以从中获取 csrf 令牌。在一个用户的站点,使用 fiddler,我们经常看到 307 重定向调用,然后是 401 未授权调用。在本地,当我 运行 我看到 307 重定向调用但没有失败。在 url 末尾的尾随 / 我们没有得到 307 重定向,它似乎工作得更好。

编辑:确认,客户现在 运行 好多了。