后续 REST API 请求出现 401 Unauthorized 错误
401 Unauthorized error on subsequent REST API requests
在第一次成功响应 200 Ok 后,后续 REST API 请求 出现 401 Unauthorized 错误。请参阅下面的重现步骤。
重现步骤:
验证并获取授权令牌 - 成功
首先提交 API 请求 - 成功
- 提交后续 API 请求 - 401 未经授权
注意:当我在本地调试或在 Azure 上部署时,这工作正常。但是,我在我的一个托管环境中收到 401 Unauthorized 。并且支持人员付出了艰辛的努力,但未能解决此问题。
注意:您可能会在我的屏幕截图中看到不同的不记名令牌,但我在所有请求中都传递了相同的令牌。
- 为什么它只在 1 个托管环境和后续请求上出现问题?
- 我是否需要对我的 web.config 文件进行任何特定更改,以便我的后续请求被相同的持有者令牌识别?
Update-1:
下面是我的域 (401) 和 azure (200 ok) 并排放置的响应。我看到 Azure 在 cookie 中另外发送 ARRAffinity 和 ARRAffinitySameSite。希望此信息可能有所帮助。
我的 web.config 文件中缺少网络场所需的 机器密钥 ,因为我的托管环境使用 3 个名称服务器,因为它无法识别来自第二个的令牌请求继续。
来自 MS Docs:如果您在 Web 场中部署应用程序,则必须确保每台服务器上的配置文件共享相同的 validationKey 值和 Machine Key 的 decryptionKey 值,分别用于散列和解密。这是必需的,因为您不能保证哪个服务器将处理连续的请求。
在第一次成功响应 200 Ok 后,后续 REST API 请求 出现 401 Unauthorized 错误。请参阅下面的重现步骤。
重现步骤:
验证并获取授权令牌 - 成功
首先提交 API 请求 - 成功
- 提交后续 API 请求 - 401 未经授权
注意:当我在本地调试或在 Azure 上部署时,这工作正常。但是,我在我的一个托管环境中收到 401 Unauthorized 。并且支持人员付出了艰辛的努力,但未能解决此问题。
注意:您可能会在我的屏幕截图中看到不同的不记名令牌,但我在所有请求中都传递了相同的令牌。
- 为什么它只在 1 个托管环境和后续请求上出现问题?
- 我是否需要对我的 web.config 文件进行任何特定更改,以便我的后续请求被相同的持有者令牌识别?
Update-1: 下面是我的域 (401) 和 azure (200 ok) 并排放置的响应。我看到 Azure 在 cookie 中另外发送 ARRAffinity 和 ARRAffinitySameSite。希望此信息可能有所帮助。
我的 web.config 文件中缺少网络场所需的 机器密钥 ,因为我的托管环境使用 3 个名称服务器,因为它无法识别来自第二个的令牌请求继续。
来自 MS Docs:如果您在 Web 场中部署应用程序,则必须确保每台服务器上的配置文件共享相同的 validationKey 值和 Machine Key 的 decryptionKey 值,分别用于散列和解密。这是必需的,因为您不能保证哪个服务器将处理连续的请求。