docker 有没有可能为谷歌云的OAuth 2.0动态授权重定向URI?

5kgi1eie  于 2023-02-07  发布在  Docker
关注(0)|答案(1)|浏览(151)

如果这个问题不能完全反映我的需要,请帮我重新措辞。
我有一个应用程序,其中包括:
1)Go服务器API
2)使用API端点的Go服务器前端
3)运行两个服务器的Docker容器
在开发过程中,我在多个位置静态设置了localhost,例如:
1)在API服务器中启用CORS,以便前端能够与API通信示例:

func enableCors(w *http.ResponseWriter) {
   (*w).Header().Set("Access-Control-Allow-Origin", "http://localhost:8080")
   (*w).Header().Set("Access-Control-Allow-Credentials", "true")
}

2)在API服务器中,用于重定向到API和从API重定向,以便认证用户
3)在前端服务器JavaScript部分访问API
4)在Google API中授权重定向URI为:

http://localhost:8001/oauth/authenticate?method=google

这是我第一次想让我的应用程序以一种更像生产的方式运行。如果每次有人下载我的应用程序并从它构建一个Docker映像时,生成的容器将具有不同的外部IP地址,我应该如何设置我的代码结构,以说明这个动态IP?(特别是对于OAUTH的Google云API重定向)?还是我根本就错了,这是不可能的/首先是不想要的行为,因为通常有一个服务器上托管X应用程序,其IP在真实的世界中总是已知和静态的?
如果这是可以实现的,我唯一想到的方法是在Dockerfile中获取容器IP,然后将其设置为一个环境变量,然后由两个服务器使用,但这仍然不能解决Google API OAUTH静态允许重定向URI问题。希望我能够传达问题是什么,因为我在措辞上遇到了麻烦。
进度:到目前为止,我已经在Docker构建期间通过shell脚本设置了环境变量,如下所示:

export SERVER_IP=$(hostname -I | xargs)

对于JavaScript,我使用webpack插件Dotenv(将systemvars参数设置为true)来捕获系统env并将其合并到JS中。

2nbm6dog

2nbm6dog1#

要求你的应用程序的用户完成配置文件就足够了,他们至少必须写自己的APIKey,而且我认为他们会配置他们的谷歌API,可以很容易地得到他们的IP(或者只是写他们的静态域名),你必须只在自述文件中通知用户。

相关问题