в ложь (я не помню, если это явно необходимо)
аюсь заставить основное веб-приложение 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 и докер, Однако ответы пока не помогли.