是否可以在本地主机上应用 运行 时同时实现 Spring OAuth2.0 和基本身份验证?

Is it possible to implement both Spring OAuth2.0 and basic authentication when application running on localhost?

我的问题在上面)我正在 java 上构建客户端-服务器应用程序并想尝试实施 OAuth2.0 身份验证。但是有一个问题——我没有静态 IP 地址。当我的应用程序在本地主机上时,我可以使用 Google 或 Facebook 等服务来实现它吗?

首先,一些 OAuth 提供商甚至不接受 IP 地址,因此即使您拥有静态 IP 也无法使用。 您可以尝试使用本地主机,但这并不总是可行或可取的,例如当您想要通过本地网络进行测试时。

还有另一种方法可以解决这个问题。您可以做的是:

  • 选择一个永远不会存在的域名。例如:random.rubbish
  • 使用此域名设置您的 OAuth 应用程序,即使用 http://random.rubbish/ 作为您的域在 Facebook 和 Google 注册,您可以根据需要添加路径。这只是一个示例,您可以将 http 和 random.rubbish 更改为您需要的任何内容。
  • 现在在您的本地系统上,您可以编辑 HOSTS 文件并为 random.rubbish 添加一个条目,如下所示:random.rubbish 127.0.0.1
  • 现在在您的浏览器中,当您转到 http://random.rubbish 时,它将带您到本地主机(端口 80,因为 http)。这是因为系统执行解析域名的第一个检查是 HOSTS 文件。

如果您想通过本地网络进行测试,您可以将此条目添加到您的 DHCP 服务器,或者您可以在您将访问服务器的每台计算机上编辑 HOSTS 文件。