缺少参数 code_challenge_method
Posted
技术标签:
【中文标题】缺少参数 code_challenge_method【英文标题】:Missing parameter code_challenge_method 【发布时间】:2022-01-16 18:49:09 【问题描述】:我正在学习 oauth 2.0 并使用 keycloak 作为授权服务器。每当我发送以下请求时:-
http://localhost:7070/auth/realms/developer/protocol/openid-connect/auth?client_id=tcs&response_type=code&scope=openid profile&redirect_uri=http://localhost:8080/callback&state=zxczczxc232
我收到以下错误:-
http://localhost:8080/callback?error=invalid_request&error_description=Missing+parameter%3A+code_challenge_method&state=zxczczxc232
【问题讨论】:
【参考方案1】:keycloak 已启用 PKCE,因此,您作为客户端必须发送 code_challenge 作为初始身份验证请求的一部分。
你需要做的是:
-
生成随机值 (code_verifier)
计算该值的哈希 (code_challenge)
在您的初始身份验证请求中发送 code_challenge
稍后请求令牌时发送 code_verifier
如下图所示:
【讨论】:
如何禁用PKCE? 要禁用 PKCE,请参阅此处的文档keycloak.org/docs/latest/server_admin/#advanced-settings 但是,今天您应该学习和使用 PKCE,因为它是使用的最佳实践......而且它并不复杂。 如果我的回答解决了您的问题,请随时接受。以上是关于缺少参数 code_challenge_method的主要内容,如果未能解决你的问题,请参考以下文章