【问题标题】:google OAuth for service on unusual port谷歌 OAuth 在异常端口上提供服务
【发布时间】:2013-03-30 12:19:53
【问题描述】:

出于安全原因,我在一个不寻常的端口上运行我自己的网站:端口 11223 上的 https,而不是 443。

本网站提供谷歌账户登录功能,通过谷歌OAuth API实现。

在身份验证的最后一步(从 google OAuth 重定向回我的系统),发生网络超时。

另一方面:如果我的服务器在默认端口 443 而不是 11223 上运行 https,则一切正常。

我已配置 google OAuth 客户端设置(重定向 URI、主页 URL、JavaScript 来源)以使用特殊端口 112233。但没有成功。

也许重要的是要知道,服务器位于带有 NAT 的防火墙后面。这意味着,防火墙接收到端口 11223 的 https 连接,以将其重定向到仅在端口 11223 上运行 https 的内部网络服务器。但我认为,这不是重点。

可能是什么原因,为什么端口 443 工作但端口 11223 没有。 我猜 google OAuth 不支持在不寻常的 prot 上运行的网络服务器!?!

【问题讨论】:

    标签: oauth https timeout port google-oauth


    【解决方案1】:

    端口号为 16 位,因此不能超过 65535。

    【讨论】:

    • 是的,你是对的。但在这种情况下,这是一个错字,以避免发布真实设置。我改变了我的问题。
    • 通过说“身份验证的最后一步”,您的浏览器在您点击“允许访问”按钮后是否收到 Google 的任何响应?问题是超时发生在哪里 - 是在浏览器和 Google OAuth2 服务器之间,还是在浏览器和您的站点服务器之间?
    • 超时发生在浏览器和我的网站之间。如果我的服务器运行在端口 443(默认 ssl 端口,而不是 11223)上,它就可以工作。谷歌做了一个重定向,可能谷歌忽略了特定的端口。所以看起来 google 重定向到 443 而不是 11223,即使我已经在 google API 接口/设置中配置了 11223。
    • 您可以捕获来自 Google 的 http 302 响应,以查看 google 是否重定向到端口 11223。您也可以尝试将您的浏览器指向 your-server:11223,以查看您的服务器是否收到端口 11223 上的请求。
    • 另外,请注意 Google 支持同一应用程序的多个 redirect_uri。所以需要在request中的redirect_uri中指定端口。
    【解决方案2】:

    可能是代理配置问题吗?我建议您将防火墙配置为在端口 11223 上返回 404,然后看看会发生什么。

    【讨论】:

    • 嗨,布雷诺。没有使用代理。防火墙仅对服务器洞察力进行 NAT。我使用的防火墙只是一个端口过滤器,没有在特定端口上返回/重定向 404 页面的功能。防火墙的工作级别低于代理。
    猜你喜欢
    • 1970-01-01
    • 2021-12-12
    • 2021-11-03
    • 1970-01-01
    • 1970-01-01
    • 2016-05-28
    • 2011-04-25
    • 1970-01-01
    • 2013-07-21
    相关资源
    最近更新 更多