Клиентская программа не может вызвать IdentityServer в программе QuickStarts basi c - PullRequest
0 голосов
/ 13 июля 2020

Я планирую использовать Identity Server 4 на нашем сайте B2 C и начал изучать Identity Server. Для начала я загрузил исходный код Sample QuickStarts с вашей страницы github. (https://github.com/IdentityServer/IdentityServer4/tree/main/samples/Quickstarts)

Проблема возникла вскоре после того, как я начал отладку программы '1_ClientCredentials', которую я не могу придумайте решение.

Ошибка происходит в методе Main класса Program проекта «Клиент».

namespace Client
{
    public class Program
    {
        private static async Task Main()
        {
            // discover endpoints from metadata
            var client = new HttpClient();

            var disco = await client.GetDiscoveryDocumentAsync("https://localhost:5001"); **//<=Here!!**
            if (disco.IsError)
            {
                Console.WriteLine(disco.Error);
                return;
            }
        ・・・・

Свойство IsError возвращаемого значения метод всегда истинен, поэтому клиентская программа не может продолжить работу с этого момента.

URL-адрес 'https://localhost: 5001' действителен, поскольку я подтвердил URL-адрес 'https://localhost: 5001 / .well -known / openid-configuration 'показывает правильный результат json в браузере.

Я бы хотел знать, как разрешить экземпляру HttpClient получать отклик на запрос документа.

Для справки, я поместил эту программу в свой репозиторий GitHub ниже. https://github.com/TrailRunner-MF/Samples/tree/master/QS1_ClientCredentials

Название решения немного отличается от исходного, но действие полностью такое же, особенно когда оно останавливается в указанном мной месте

Название решения немного отличается от оригинала, но программный код тот же, за исключением выходного письма проекта «IdentityServer» в браузере. запускаем проект и подтвердите, возникает проблема или нет. И покажите мне решение этой проблемы.

Спасибо.

1 Ответ

0 голосов
/ 14 июля 2020

Проблема решилась простым способом. Я должен установить решение как «Многопользовательский запуск проекта».

(я думал, что IdentityServer и Api будут автоматически отключены из-за отношения зависимости между проектами внутри решения. Но это было неправильно.)

Это было сделано следующим образом.

  1. Выберите «Свойство» в контекстном меню решения.
  2. Выберите «Несколько запускаемых проектов» в диалоговом окне страницы свойств.
  3. Установите действие как «начало» для каждого проекта.

enter image description here

After than, I can proceed the debugging by clicking 'Start Debugging' button as I show below.

Thank you.

введите описание изображения здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...