首页 > 解决方案 > 设置 docker-compose 以使 OAuth 流程正常工作

问题描述

我正在尝试为本地开发设置 docker compose,它由两个服务组成。OAuthServer 和 ClientApp。

问题是主机上的通信必须正常工作。这两个服务都可以在 localhost:3000 (ClientApp) 和 localhost:4000 (OAuthServer) 上访问。这很简单。

但 ClientApp 也必须能够直接与 OAuthServer 通信。这就是问题所在。标准 OAuth 流程确实期望 ClientApp 将始终在同一 url 上与 OAuthServer 通信。

ClientApp 到达 OAuthServer 的 URL 是oauthserver:4000.

一种可能的解决方案是使用network_mode: host,但不幸的是我在 Mac OS 上,它似乎不起作用

你能建议任何解决方案吗?

version: '3'
services:
  clientapp:
    build: .
    depends_on:
      - oauthserver
    environment:
      - AUTH_SERVER_URL=http://localhost:4000
    ports:
      - 3000:3000
  oauthserver:
    image: myauthserver
    depends_on:
      - db
    ports:
      - 4000:4000
  db:
    image: postgres:latest
    ports:
      - 5432

标签: dockeroauthoauth-2.0docker-compose

解决方案


推荐阅读