Проблемы с использованием OAuth2 в проекте web api core dotnet core
У меня есть приложение, которое использует Aurelia в качестве внешнего и точечного сетевого ядра для WEB API.
Я должен поместить некоторую Аутентификацию и Авторизацию вокруг моего WEB API. Я пытаюсь использовать OAuth (Microsoft.Owin.Security.OAuth) для этой цели.
У меня есть пара вопросов здесь
- Я хотел бы знать, возможно ли просто использовать данные (пользователей) из базы данных сервера 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 =>
{
};
});
- Я добавил схему по умолчанию, но все еще получаю ошибку. Я что-то пропустил?
ошибка
<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 => ...);