Google OAuth2,用于承载在NAT(无公共IP的intranet服务器)后面的web应用程序

Google OAuth2,用于承载在NAT(无公共IP的intranet服务器)后面的web应用程序,oauth,oauth-2.0,google-oauth,google-authentication,google-openid,Oauth,Oauth 2.0,Google Oauth,Google Authentication,Google Openid,我的web应用程序需要访问用户Google数据。我决定使用OAuth2。问题是谷歌不接受我的重定向uri。它是内联网上我的服务器的本地IP地址 在过去,我使用OpenID,它接受本地重定向uri。如何用OAuth2解决这个问题 到目前为止,我找到的唯一解决方案是使用redirect\u uri=urn:ietf:wg:oauth:2.0:oob,但这需要用户复制粘贴访问令牌。有更好的解决方案吗?因为您的用户显然总是在内部网上,所以您可以使用通过用户机器上的主机文件或本地DNS服务器解析为本地IP

我的web应用程序需要访问用户Google数据。我决定使用OAuth2。问题是谷歌不接受我的重定向uri。它是内联网上我的服务器的本地IP地址

在过去,我使用OpenID,它接受本地重定向uri。如何用OAuth2解决这个问题


到目前为止,我找到的唯一解决方案是使用
redirect\u uri=urn:ietf:wg:oauth:2.0:oob
,但这需要用户复制粘贴访问令牌。有更好的解决方案吗?

因为您的用户显然总是在内部网上,所以您可以使用通过用户机器上的主机文件或本地DNS服务器解析为本地IP地址的任何FQDN。

本地主机文件或本地DNS服务器没有帮助。Google要求OAuth2通过开发者控制台提供重定向uri。但是我没有它的有效IP,因为我的web应用程序没有公共URI,它只在intranet中运行。确实如此:只需添加类似于
localhost.yourdomain.com
的内容,它解析为您的私有IP地址;谷歌不会试图解析那个地址,只有你的客户(用户的浏览器)会。汉斯是正确的。OAuth普遍误解谷歌会尝试调用重定向URL,但事实上只要URL对浏览器有意义,它就会发送http重定向