SONOS 身份验证令牌未在授权 HTTP header 中发送以用于 CQ API 调用

SONOS auth token is not being sent in Authorization HTTP header for CQ API calls

我按照 Sonos docs for adding app authentication and the page for using authentication tokens 结果是 SMAPI 服务器正确地 return 将 authToken 连同 privateKey 返回给控制器。我可以在发送到我的 SMAPI 服务器的 SOAP 消息中的凭据 header 中看到 authToken。

然而,尽管在与 HTTP 请求相关的 Sonos 文档页面中多次提到了这一点(我将在下面列出资源链接),但在 HTTP header 授权中并未发送相同的 authToken,这使我的 CQ 服务器无法验证请求者身份。

我尝试了以下方法,但没有成功:

From Sonos device:

X-Sonos-Playback-Id: RINCON_48??????D201400:3165321802 <= deviceId inserted after RINCON_

X-Sonos-Device-Id: Sonos_U????????????????????????6 <= householdId

X-Sonos-Corr-Id: 267e3e0c-75ca-4b9d-8be4-b8a795a462a3 <= unique each time

From macOS Controller:

X-Sonos-Controller-ID: 68:??:??:??:??:07 <= the same each time

X-Sonos-Api-Key: 8??????e-7??7-4??f-b??6-7??????????0 <= the same each time

X-Sonos-Corr-Id: 648ec896-e043-44f8-bfba-cd0a80c9d857 <= unique each time

我上面提到的 HTTP 授权 header 中存在身份验证令牌的文档链接如下:

但最明确的提及是在 page about HTTP requests 中,因为它不仅适用于 CQ API 端点,而且适用于所有 HTTP 端点,即使是那些由 SMAPI 托管的端点服务器本身。该页面读取以下 2 个摘录:

总而言之,在 Sonos 官方文档中多次提到它,为什么这个重要的 header 没有在 HTTP 授权 header 中传输?在每个 API 方法请求中不存在此 authToken 的情况下,CQ 应如何验证请求者的身份?

如果我没听错的话,令牌是在 loginToken 下的 header 中传递的,请参阅 https://developer.sonos.com/build/content-service-add-features/add-authentication/use-authentication-tokens/

这不是 http header,这是 SOAP 信封的一部分。像这样:

身份验证令牌是敏感信息,如果它被发送到不安全的端点,将不会包含在 HTTP headers 中。

使用 https:// 地址后面的 CQ 服务器重试。