ASP. NET Core 3.1 Идентичность с проектом веб-API - PullRequest
0 голосов
/ 13 апреля 2020

У меня есть ASP. Net Проект Core 2.2, который мы обновляем до Core 3. У меня возникла проблема с аутентификацией, которую я смог воспроизвести в скаффолдинговом проекте Core 3. Я заметил, что если я добавлю шаблон MVC или Angular с индивидуальной учетной записью, я не получу сообщение об ошибке. Вероятно, потому что он идет на тот же порт - не уверен.

И шаблон API не имеет возможность хранить учетные записи пользователей в приложении. Так что я использую ng new плюс скаффолд-код в шаблоне Angular и внутренний код, сгенерированный шаблоном Web API, и он работает на другом порту.

Теперь проблемы с попыткой добавить аутентификацию к Angular:

  • , когда я нажимаю на Регистрация, на странице регистрации IdentityServer появляется с URL https://localhost: 44342 / Identity / Account / Register? ReturnUrl = https://localhost: 4200 / аутентификация / логин (44342 - это порт бэкенда), но все css или javascript возвращают 404 Например, https://localhost:44342/Identity/lib/bootstrap/dist/css/bootstrap.css net::ERR_ABORTED 404. Таким образом, страница, очевидно, непригодна для использования
  • , когда я нажимаю кнопку «Вход», страница не отображается ; Я получаю GET https://localhost:44342/.well-known/openid-configuration net::ERR_FAILED. Само собой разумеется, что доступ к этому URL из браузера работает нормально. Я также получаю еще одну ошибку сразу после: Access to XMLHttpRequest at 'https://localhost:44342/.well-known/openid-configuration' from origin 'http://localhost:4200' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Не уверен, что это ложно-положительный или git ... все другие API работают через CORS без проблем

Мне не нужно спрашивать решение, а скорее для некоторого руководства по устранению неполадок. Большая часть исполняемого кода - это код IdentityServer, который я не могу контролировать или отлаживать. Я не видел документов, которые бы помогли вам создать независимый интерфейс и серверную часть с новой архитектурой, в которой IdentityServer и OID C являются реализацией аутентификации по умолчанию.

...