0

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

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

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

PS:这些行看起来像保存和检索 PKCE 会话时调用的内容。但是我没有看到它们在包中的任何地方执行,所以我不知道如何/在哪里验证 PKCE 输入

4

1 回答 1

0

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

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

于 2022-02-19T01:25:14.480 回答