将EC2用于Google OAuth时使用DNS_PROBE_FINISHED_NDOMAIN



在使用google API平台为我的google OAuth2.0策略使用ubuntu EC2实例时,我得到了DNS_PROBE_FINISHED_NDOMAIN。

在为Auth选择所需的GMAIL帐户后,/google/回调不起作用,并返回DNS_PROBE_FINISHED_NXDOMAIN

app.get("/google/callback", 
passport.authenticate('google', {
successRedirect: "---ec2 url----",
failureRedirect: '/authfailure'
}),
) 

我正在从ec2中的.env中选择ec2 url。请看一下https://github.com/shubham9919/OAuth2.0IMPL代码。

谢谢。

我遇到这个问题是因为谷歌不想为其身份验证解决任何非静态公共IP。更糟糕的是,我使用的EC2实例没有连接到任何弹性IP,因此IP不归我所有。如果我停止并启动我的实例,我将失去以前的IP,谷歌可能会开始向拥有该IP的其他服务器发送回调。这可能是不允许此类IP进行回调身份验证的原因之一。

对于分辨率,我们可以使用:

{IP}.nip.io:{port}/google/callback 

解决了我的问题。假设我们的IP是172.4.5.6

172.4.5.6.nip.io:5000/google/callback resolves to => 172.4.5.6:5000/google/callback

这在生产环境中是不可取的,但在开发阶段可能是一个解决方案。

最新更新