我目前正在尝试为React Frontend应用程序设置服务器端。该服务器通过授权码授予auth流程与第三方API进行交互。当用户单击前端中的登录按钮时,它将重定向到服务器,该服务器将重定向到第三方的登录表单。然后,我将在服务器的回调路由处收到授权代码,并发出该代码以获取API资源调用的access_token。
当前,我的服务器通过将带有重定向URL的令牌传递给前端成功检索令牌后,将其重定向回到React应用程序。然后,我的前端将该令牌存储在本地存储中,并在发出请求时使用它。这些请求将发送到我的服务器端,这将从该第三方API返回请求的数据。
因此,我想那些并不是真正好的安全实践,我想对此进行改进。但是我在如何安全地存储API密钥以便可以重用的问题上感到困惑。
我的想法是,而不是直接传递API access_token,而是生成一个包含用户信息的JWT,然后将该令牌传递到授权标头中以供以后保护的路由使用。然后,当我的服务器验证该JWT时,它将使用当前的api access_token向API发出请求并返回数据。
但是我应该在哪里存储该access_token甚至应该存储它?还是有可能以加密形式将令牌包含在JWT中?另外,由于我仍然仅是原型制作,所以我现在暂时避免使用数据库来存储该简单信息。
答案 0 :(得分:0)
答案 1 :(得分:0)
标准解决方案是让您的UI与调用API分开管理登录
因此,您的用户界面应直接与授权服务器对话-然后获取用于调用API的访问令牌
在这里查看我的帖子: https://authguidance.com/2017/09/26/basicspa-oauthworkflow/
最了解哪个方在发行令牌以及是否以标准方式完成令牌..