在项目中实现GitHub OAuth 2.0登录遇ERR_SSL_PROTOCOL_ERROR错误求助
The connection for this site is not secure 127.0.0.1 sent an invalid response.
Try running network diagnostics with Get Help.
ERR_SSL_PROTOCOL_ERROR
以下是具体排查步骤:
校验回调地址协议一致性:GitHub OAuth应用配置的回调URL如果是
https://127.0.0.1/xxx,但本地服务仅运行在HTTP协议(默认80端口),就会触发该错误。要么将回调地址改为http://127.0.0.1/xxx,要么给本地服务配置有效SSL证书(比如用mkcert生成自签证书)。检查本地服务的HTTPS配置:确认本地开发服务是否正确启用HTTPS。比如Node.js服务需传入SSL证书参数才能启动HTTPS服务;如果配置了HTTPS但证书无效、未正确加载,会直接返回无效SSL响应。
核对GitHub OAuth应用配置:登录GitHub进入你的OAuth应用设置页,确保"Authorization callback URL"与本地服务的回调地址完全匹配,包括协议(http/https)、域名、端口和路径,任何细节不匹配都可能导致跳转异常。
清理浏览器缓存与SSL状态:若之前给127.0.0.1配置过过期或错误的SSL证书,清空浏览器缓存(含SSL证书缓存)后重新测试。以Chrome为例,可在「设置-隐私设置和安全性-清除浏览数据」中勾选「缓存的图片和文件」及「SSL证书缓存」。
排除代理或防火墙干扰:部分代理工具、防火墙会篡改本地HTTPS请求的SSL握手流程,导致响应无效。暂时关闭代理或防火墙后再尝试登录回调。
内容的提问来源于stack exchange,提问作者KLandry

