oauth2.0 错误:专用IP需要无效的请求设备ID和设备名称

bxgwgixi  于 2023-03-07  发布在  其他
关注(0)|答案(6)|浏览(195)

我正在使用[localhost:8080]进行Google Drive API开发。突然,我觉得应该在本地部署沙箱中测试它,它的IP地址为[192.168.1.1:8080]。因此,我更改了开发人员控制台客户端回调URL中的凭据。我正在使用OAuth2 WebServerFlow在用户同意的情况下获取刷新令牌。然后,将来我将使用刷新令牌和OAuth2 WebServerFlow对用户进行身份验证。但我感到惊讶-我收到错误:
1.这是一个错误。错误:专用IP需要无效的请求设备ID和设备名称:
我不知道发生了什么事,也不知道该如何补救。我不明白到底发生了什么

mepcadol

mepcadol1#

编辑hosts文件的替代方法是使用"Magic DNS"服务https://nip.io/
nip.io is a magic domain name that provides wildcard DNS for any IP address. Say your LAN IP address is 10.0.0.1:

10.0.0.1.nip.io   resolves to   10.0.0.1      (dot syntax)
    192-168-1-250.nip.io   resolves to   192.168.1.250 (dash syntax)
         0a000803.nip.io   resolves to   10.0.8.3      (hex syntax)
 foo.bar.10.0.0.1.nip.io   resolves to   10.0.0.1      (subdomains)
app-192-168-1-250.nip.io   resolves to   192.168.1.250 (prefixes)

使用此服务,您可以指定解析为专用地址的公共外观域。
在控制台中,如果您的重定向URI是(* 您希望拥有的URI *):

http://192.168.1.1:8080/auth/google_oath2/callback

将其改为:

http://192.168.1.1.nip.io:8080/auth/google_oath2/callback

"Redirect URI"似乎不接受通配符,因此需要在控制台中指定整个私有www.example.com。ip-xip.io needs to be specified in the console.

bq9c1y66

bq9c1y662#

Google在进行Oauth调用时不接受本地(私有)IP地址。我的解决方法是在我的Windows主机文件中添加一个本地IP的条目:
\Windows\System32\drivers\etc

192.168.1.2   fakedomain.com

然后在他们的开发控制台中向Google注册fakedomain.com。这对他们来说是一个“真实的的”域,但仍然会在您的浏览器中解析为本地IP。我相信在Mac或Linux上也可以使用类似的方法。

ig9co6j1

ig9co6j13#

编辑:仅在本地开发时相关。

好的,我在Mac上遇到了同样的问题。以下步骤解决了该问题

# (example IP)
172.1.1.1 myflask.com
fcipmucu

fcipmucu4#

我得到了同样的错误,直到我把它从一个IP地址改为一个域名,(192.168.1.113到本地主机在我的情况下),所以它看起来像谷歌不会接受裸IP地址。
为你的沙盒使用域名,或者设置一个本地域服务器(如果你没有)。

h79rfbju

h79rfbju5#

值得注意的是,在Mac上,您可以通过以root用户身份编辑来执行相同的操作:

/private/etc/hosts

添加与上述类似的行

192.168.60.10   fakedomain.com
ws51t4hk

ws51t4hk6#

在\Windows\System32\drivers\etc\hosts中修改文件主机
将“192.168.1.2fakedomain.com“添加到主机文件中
重新启动你的窗口
更新谷歌控制台192.168.1.2更新为fakedomain.com

相关问题