Здравствуйте. Такая проблема: пытаюсь развернуть проект в докере. Сервер, фронт(angular 9) и тесты. Но такая фишка, что авторизация сделана через oauth2 и никак не получается банально пройти тест на авторизацию. Никак не могу до туда достучаться. Что я пытаюсь делать:
docker-compose.yml:
version: '3.4'
services:
client:
image: docker_client
build:
context: ../../../client/UmkMainClient/
dockerfile: ./Test.Dockerfile
command: http-server --path dist/umk/index.html --port 4200
ports:
- "4200:4200"
docker_client-e2e:
image: docker_client
command: dockerize -wait tcp://client:4200 -wait http://s-auth/api/about
-wait tcp://selenium:4444 -timeout 10s
-wait-retry-interval 1s bash -c "npm run e2eci"
depends_on:
- client
- selenium
selenium:
image: selenium/standalone-chrome
expose:
- 4444
db:
image: postgres:10.12
restart: always
environment:
POSTGRES_PASSWORD: postgres
s-auth:
image: repos.xxx.xxx.xxx:xxxx/repository/xxx/s-auth:latest
ports:
- '10502:80'
environment:
- ASPNETCORE_ENVIRONMENT=Test
- DEV_PG_HOST
healthcheck:
test: curl -sS db || echo 1
interval: 5s
timeout: 10s
retries: 5
docker-compose.override.yml:
version: '3.4'
services:
s-auth:
image: '${DOCKER_REGISTRY-}sauth'
build:
context: ../../../../../auth-service/
dockerfile: ./s-auth/Dockerfile
volumes:
- '../../../../../auth-service/s-auth/config:/app/config'
- '../../../../../auth-service/s-auth/logs:/app/logs'
run:
docker-compose -f docker-compose.yml -f docker-compose.override.yml build
docker-compose -f docker-compose.yml -f docker-compose.override.yml up --force-recreate --abort-on-container-exit
Dockerfile
FROM trion/ng-cli-e2e
ENV DOCKERIZE_VERSION v0.6.0
RUN wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz \
&& tar -C /usr/local/bin -xzvf dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz \
&& rm dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz
WORKDIR /app
COPY . .
RUN npm install
RUN npm install http-server -g
RUN node ng-add-pug-loader.js
RUN node --max-old-space-size=4096 node_modules/@angular/cli/bin/ng build --prod
terminal log:
В тесте происходит вход, ввожу логин и пароль, нажимаю кнопку. После этого собираю логи браузера и вот что там.
log: [{"level":"SEVERE","message":"http://s-auth/connect/token - Failed to load resource: the server responded with a status of 400 (Bad
Request)","timestamp":1590079989322,"type":""},{"level":"SEVERE","message":"http://localhost:4200/vendor.js 136657:28 \"Error performing password flow\" HttpErrorResponse","timestamp":1590079989322,"type":""}]