Zuguki
@Zuguki
I'm working all the time!

Почему не проходит авторизация, при запуске через compose?

Всем привет. Подключаю авторизация на проект через IdentityServer4.
У меня есть 2 проекта, на одном стоит IdentityServer, на втором просто api.
Дело в том, что когда я запускаю api локально, передаю токен с IdentityServer в api, все окей, но, когда я запускаю api через docker-compose и отправляю токен с identityServer, возвращает 401. В ошибке написано: Bearer error - invalid_token - The signature key was not found.

Прикреплю Docker-compose file
services:
  # Identity
  identity:
    container_name: identity
    image: identity
    environment:
      - ASPNETCORE_ENVIRONMENT=Development
    build:
      context: .
      dockerfile: ./Dockerfile
    ports:
      - "10001:8080"
    networks:
      - postgres_identity_network
    volumes:
      - app_identity_data:/data/identity
    depends_on:
      - postgres_identity_db

  postgres_identity_db:
    container_name: postgres_identity
    image: postgres:latest
    environment:
      POSTGRES_USER: ${POSTGRES_USER:-postgres}
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-passwd}
      POSTGRES_DB: identity
    volumes:
      - postgres_identity_data:/data/postgres_identity
    ports:
      - "5432:5432"
    networks:
      - postgres_identity_network
    restart: unless-stopped

  # Posts 
  posts:
    container_name: posts
    image: posts
    environment:
      - ASPNETCORE_ENVIRONMENT=Development
    build:
      context: .
      dockerfile: ./Dockerfile
    ports:
      - "8082:8080"
    networks:
      - postgres_posts_network
    volumes:
      - app_posts_data:/data/posts
    depends_on:
      - postgres_posts_db

  postgres_posts_db:
    container_name: postgres_posts
    image: postgres:latest
    environment:
      POSTGRES_USER: ${POSTGRES_USER:-postgres}
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-passwd}
      POSTGRES_DB: posts
    volumes:
      - postgres_posts_data:/data/postgres_posts
    ports:
      - "6002:5432"
    networks:
      - postgres_posts_network
    restart: unless-stopped

networks:
  postgres_identity_network:
    driver: bridge
  postgres_posts_network:
    driver: bridge

volumes:
  app_identity_data:
  app_posts_data:
  postgres_identity_data:
  postgres_posts_data:
  • Вопрос задан
  • 102 просмотра
Пригласить эксперта
Ответы на вопрос 1
akelsey
@akelsey
Гипотеза: в токене содержится вероятно issuer url который ведет в какой нибудь localhost:8080/auth/somepubkey
А нужно чтоб он шёл на : 10001 за проверкой токена. Ошибка "The signature key was not found." косвенно намекает, что проверить подпись у Identity provider API не смог. Но это такой набросок, дальше нужно знать больше деталей и разбиратсья самостоятельно на месте...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы