GitHub通过对OAuth和GitHub应用支持PKCE来增强安全性
realtime news Jul 15, 2025 06:00
GitHub已引入对OAuth和GitHub应用身份验证的PKCE支持,通过保护授权码来增强安全性。该实现遵循OAuth 2.0标准 (RFC 7636)。

GitHub引入PKCE支持
GitHub宣布将代码交换证明密钥 (PKCE) 集成到其OAuth和GitHub应用身份验证过程中。此举旨在通过确保只有发起客户可以将授权代码交换为访问令牌来增强安全性,根据GitHub的说法。
了解PKCE
PKCE是OAuth 2.0标准 (RFC 7636) 的安全扩展,通过在代码交换过程增加额外的安全层来解决漏洞。应用程序可以通过在用户授权流中包含code_challenge_method
和code_challenge
参数来实现PKCE。然后,在将代码交换为访问令牌时需要相应的code_verifier
参数。值得注意的是,仅支持S256代码挑战方法。
当前要求和豁免
目前,GitHub并未要求在任何身份验证流中强制使用PKCE,因为它不区分公开和私密客户端。然而,在授权码流期间,建议GitHub应用和OAuth应用使用PKCE。值得注意的是,设备码流和安装令牌流不受PKCE要求影响。
一些之前错误使用PKCE的应用程序已被暂时豁免执行以防止中断。GitHub已联系这些开发者,以帮助他们更新应用程序以正确实施PKCE。
对开发者的影响
此更改凸显了GitHub致力于提高用户安全的承诺。虽然过渡可能需要一些开发者进行调整,但改进的安全性和用户信任的长期收益预计将超过初始实施挑战。
Image source: Shutterstock