Я пытаюсь заставить основное веб-приложение MVC работать с Identity Server и Docker.Вот шаги, которые я предпринял:
1) Загрузите быстрый старт: https://github.com/IdentityServer/IdentityServer4.Samples/tree/dev
Запустите проект и убедитесь, что он работает как положено.Теперь попробуйте добавить Docker в уравнение:
2) Откройте решение.Щелкните правой кнопкой мыши: IdentityServerWithAspNetIdentity и выберите: Добавить поддержку оркестровки контейнера (затем Docker Compose, затем Linux).3) Щелкните правой кнопкой мыши MVCClient и выберите: Добавить поддержку оркестровки контейнера (затем Docker Compose, затем Linux).4) Измените Docker-compose.override.yml на это (обратите внимание, что я изменил только порты для каждой службы с 80 на 5002: 80 и 5000: 80):
version: '3.4'
services:
mvcclient:
environment:
- ASPNETCORE_ENVIRONMENT=Development
ports:
- "5002:80"
identityserverwithaspnetidentity:
environment:
- ASPNETCORE_ENVIRONMENT=Development
ports:
- "5000:80"
5) Попробуйте запустить проектчтобы увидеть, что происходит.Когда я пытаюсь получить доступ: Дом / Безопасность;вместо того, чтобы пересылать на страницу входа в систему;Я вижу эту ошибку: 'Unable to obtain configuration from:http://localhost:5000/.well-known/openid-configuration'.
Я полагаю, что это потому, что контейнер Docker не может видеть localhost: 5000.Поэтому после прочтения нескольких сообщений в блоге;Я пытаюсь это:
6) Откройте автозагрузку в MVCClient и измените это:
options.Authority = "http://localhost:5000";
на это:
options.Authority = "http://identityserverwithaspnetidentity:80";
Однако я просто вижу ошибку DNS(404 я верю).Что мне нужно сделать, чтобы Identity Server работал с веб-приложением MVC в этом случае?
Пока я смотрел здесь: Как я могу использовать IdentityServer4 изнутри и снаружи док-машины? и здесь: Identity Server 4 и докер .Однако ответы пока не помогли.