SWR 在每个 api 调用中都会公开 client-id 和 Bearer token,我应该担心,对吧

Mat*_*oak 3 javascript next.js twitch-api swr

长话短说,我刚刚完成了使用 NextJs、NextAuth 和 SWR 构建应用程序的工作,我使用 SWR 调用多个 Twitch API,以验证 Twitch API 我使用我的 Twitch 应用程序 Client-Id 和登录用户的 Bearer 令牌取自 NextAuth 的会话对象。

我担心的是,每当 SWR 执行 API 函数来用数据填充页面或更新页面时,您可以在 Chrome 或 Firefox 开发工具中捕获网络调用时轻松查看请求标头这里。这主要是因为这是一个生产环境,而且这种情况仍然会发生,这也违反了 Twitch 开发人员文档,并且肯定有“警告:将您的令牌视为密码。例如,切勿在任何公共 URL 中使用访问令牌,并且切勿在任何网页上显示令牌,无需单击即可反混淆。

有没有办法或解决方案来隐藏这些?

现在我的下一个最好的问题是我怎样才能阻止这种情况发生,他们是一种方法吗?

Ro *_*ton 5

无需惊慌。可以在请求的Authorization标头中包含承载令牌 - 事实上,这是发送它们的标准方式。你无法在 Chrome 的开发工具中隐藏它,因为这会违背它的目的。

您读到的建议“永远不要在任何公共 URL 中使用访问令牌”可能意味着永远不要在 URL 中显示它们,mywebsite.com/?token=[abcd]因为这样就可以通过浏览器历史记录访​​问它,或者不要将专为一项服务设计的令牌发送到其他网站。

这与 SWR 无关——它是标准的 HTTP 行为。