我正在尝试在Electron中启动本地服务器以捕获Google的OAuth回调,如下所示:
this.server = http.createServer((request, response) => {
const { query } = url.parse(request.url, true);
if (query.code) {
this.onCodeReceived(query.code);
// do something nicer here eventually
response.end();
} else {
response.end('Error');
this.authStatus = 'error';
}
}).listen(this.LOCAL_SERVER_PORT);
我遇到的问题是,当我完成对Google的身份验证时,该窗口仅位于“等待127.0.0.1 ...”,而实际上从未完成。我发现在请求处理程序中使用console.log时,从未真正调用过该处理程序,因此我对为什么请求未通过感到困惑。
我已经验证了回调URL与服务器正在侦听的端口相同,并且服务器实际上已经开始侦听。奇怪的是,如果我打开一个新选项卡并转到URI,则会收到预期的错误响应。
作为参考,回调URI设置为http://127.0.0.1:18363
和this.LOCAL_SERVER_PORT = 18363
。
如果有人有任何想法,我将不胜感激。谢谢!