我应该在哪里存储code_verifier(带有PKCE的oauth 2.0代码授权流)

时间:2019-06-03 15:11:22

标签: node.js reactjs oauth-2.0 oauth2orize

我目前正在使用SSR页面中的PKCE实现oauth 2.0代码授权授予(在前面使用React,在后面使用Express)。

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

我应该将code_verifier存储在req.headers中吗? (请参见下文)。

https://tools.ietf.org/html/draft-campbell-oauth-tbpkce-00

我们正在遵循这些RFC

https://tools.ietf.org/html/rfc6749

最诚挚的问候。

1 个答案:

答案 0 :(得分:1)

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

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