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 源代码,但很难找到:
- 将会话添加到 PKCE table 的代码在哪里?这可能是由 the
oauth2/auth
endpoint. 调用的
- 验证 code_verifier 的代码在哪里?我假设它是由 the
oauth2/token
endpoint 调用的
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
中列出
我正在使用 Ory Hydra 通过 PKCE 完成 OAuth2 authorization_code
流程。我的设置有问题。代码验证器实际上没有被验证。无论我提供正确的验证器、无效的验证器还是根本不提供验证器,我都可以用 authz 代码交换令牌。
我正在查看 Hydra 源代码,但很难找到:
- 将会话添加到 PKCE table 的代码在哪里?这可能是由 the
oauth2/auth
endpoint. 调用的
- 验证 code_verifier 的代码在哪里?我假设它是由 the
oauth2/token
endpoint 调用的
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
中列出