提问人:AIMLA 提问时间:7/24/2023 最后编辑:General GrievanceAIMLA 更新时间:8/17/2023 访问量:77
OAuth + PKCE 期望代码验证程序从客户端发送,因此代码验证程序是否公开?
OAuth + PKCE expects the code verifier to be sent from the client-side, so isn't the code verifier exposed?
问:
我正在为单页 Web 应用程序实现具有授权流 + PKCE 的 OAuth2。我的问题是,在所描述的流程中,它指出代码验证程序是从应用程序的客户端发送到授权服务器的。那么,这是否意味着代码验证器已公开?
有人告诉我,任何人都可以在单页应用程序的客户端部分查看变量的内容、使用的代码等。那么,是什么阻止了恶意行为者在代码验证程序存在于应用程序的客户端部分时检索它呢?
谢谢
答:
1赞
Evert
7/24/2023
#1
PKCE 可防范特定漏洞。如果恶意行为者能够读取整个网页、客户端状态等,那么 PCKE 不会帮助您。
PKCE 保护您免受的特定漏洞是是否有东西可以拦截重定向。例如,重定向回本机电话应用程序。如果安装了恶意应用程序并拦截了此重定向,则单独使用是无用的,因为它们需要 which 位于最初启动流的应用程序中。code
code_verifier
authorization_code
评论