关于node.js:我应该在哪里存储code_verifier(带有PKCE的oauth 2.0代码授权流)

Where I should store code_verifier (oauth 2.0 code authorization flow with PKCE)

我目前正在SSR页面中使用PKCE进行oauth 2.0代码授权授予(在正面使用React,在背面使用Express)。

当客户端请求授权服务器代码时(授权服务器创建code_challenge和code_verifier进行验证时),我应该在哪里存储code_verifier。我有在独立的堆栈/基础结构中运行的授权服务器。

我应该将code_verifier存储在req.headers中吗?
(请参阅坎贝尔OAuth草案TBPKCE-00)

我们正在遵循RFC6749


我建议您考虑将其存储在cookies中,这是一种简单的方法,如果有人看到它并不是什么大不了的事情。您可以使用Node.js的cookie-parser库,我个人非常喜欢并几乎每天都使用它,因为它提供了开发人员友好的工具。

FYI:我主要研究GraphQL API,并且找到了一个很好的解决方案,也可以将code_verifier存储在GraphQL Server的context中。 Apollo服务器。