Проблемы с использованием OAuth2 в проекте web api core dotnet core

У меня есть приложение, которое использует Aurelia в качестве внешнего и точечного сетевого ядра для WEB API.

Я должен поместить некоторую Аутентификацию и Авторизацию вокруг моего WEB API. Я пытаюсь использовать OAuth (Microsoft.Owin.Security.OAuth) для этой цели.

У меня есть пара вопросов здесь

  1. Я хотел бы знать, возможно ли просто использовать данные (пользователей) из базы данных сервера SQL для проверки подлинности. Все примеры были привязаны к структуре сущности. Так что было тяжело отделить это.

Я начал с минимального проекта и только что обновил свой начальный класс.

Это мой метод настройки служб в классе запуска

services.AddAuthentication(options =>
            {
                options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
            }).AddOAuth("", Options =>
            {
                Options.ClientId = "MyApp";
                Options.ClientSecret = "MyAppSecret";
                Options.CallbackPath = new PathString("//");
                Options.AuthorizationEndpoint = "https://localhost:44360/account/authorize";
                Options.TokenEndpoint = "https://localhost:44360/account/token";
                Options.Events.OnCreatingTicket = async context =>
                {

                };
                Options.Events.OnRemoteFailure = async context =>
                {

                };
                Options.Events.OnTicketReceived = async context =>
                {

                };
                Options.Events.OnRedirectToAuthorizationEndpoint = async context =>
                {

                };
            });
  1. Я добавил схему по умолчанию, но все еще получаю ошибку. Я что-то пропустил?

ошибка

   <ul>
     <li>
          <h2 class="stackerror">InvalidOperationException: No authenticationScheme was specified, and there was no DefaultChallengeScheme found.
   </h2> 
<ul>

0 ответов

Здесь та же проблема. Нашел здесь еще один пример и исправил мой, добавив дополнительные параметры в AddAuthentication():

services.AddAuthentication(options =>
            {
                    options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
                    options.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
                    options.DefaultChallengeScheme = "";
            }).AddOAuth("", Options => ...);
Другие вопросы по тегам