Ory Hydra - 在 PKCE 流程中,code_verifier 存储和检查在哪里?

Ory Hydra - In PKCE flow where is code_verifier stored and checked?

我正在使用 Ory Hydra 通过 PKCE 完成 OAuth2 authorization_code 流程。我的设置有问题。代码验证器实际上没有被验证。无论我提供正确的验证器、无效的验证器还是根本不提供验证器,我都可以用 authz 代码交换令牌。

我正在查看 Hydra 源代码,但很难找到:

  1. 将会话添加到 PKCE table 的代码在哪里?这可能是由 the oauth2/auth endpoint.
  2. 调用的
  3. 验证 code_verifier 的代码在哪里?我假设它是由 the oauth2/token endpoint
  4. 调用的

PS: These lines look like 保存和检索 PKCE 会话时调用什么。但是我没有看到它们在包中的任何地方执行,所以我不知道 how/where PKCE 输入得到验证

此行创建 PKCE 会话(向 table 添加条目): https://github.com/ory/fosite/blob/master/handler/pkce/handler.go#L129

原来我的代码没有调用它,因为 PKCE 没有在 Registry.OAuthProvider() 设置

AuthorizeEndpointHandlers 中列出