问题描述
我在我的应用中使用了 google oauth2.0 代码授权流程。 我的应用程序需要使用 Google Api,因此客户端需要将 access_token 设置为 Authorization 标头。 我的应用程序由两部分组成。前端是使用 create-react-app 构建的 React,后端 api 服务器是 Koa。
这里是流程
问题是,我不知道api服务器如何安全地发送给客户端。
- 如果服务器发送 access_token 到 post 响应体,它可能被劫持
- 如果服务器使用 httpOnly 在 cookie 中发送 access_token,则使用 create-react-app 构建的 React 应用无法从 cookie 中获取 access_token,因为它是 CSR。
所以我尝试使用 access_token 构建新的 jsonwebtoken 并在没有 httpOnly 选项的情况下发送到 cookie 中的客户端。
我正在努力解决这些问题。
服务器如何将一些关键信息安全地发送回客户端?
解决方法
这与反应无关。但是,对于大多数已部署的应用程序,您将使用 ssl,即加密连接,即您在大多数网站中看到的 https://。这是在 koa 中实现它的方法。在标头中发送 accessToken 是完全没问题的。