У меня есть простое приложение, которое использует Angular в качестве внешнего интерфейса и .NET Core Web API в качестве внутренних служб.Теперь я хочу защитить свой уровень WEB API.Хотя я могу использовать OpenID Connect для этой цели.Но во всех примерах или документации в Интернете используются некоторые системы управления идентификацией (Keycloak, Okta), но я просто хочу использовать свои пользовательские данные из базы данных SQL.
Что-то вроде того, я нажал на WEB API от Angular, чтобы получить сгенерированный токен (используя OpenID?) На основе отправленных пользовательских данных.Я могу просто использовать токен для авторизации пользователей.Я хочу использовать OpenID, чтобы позже я мог использовать другие системы управления идентификацией, если захочу.
мой класс запуска в WEB API
services.AddAuthentication(options =>
{
options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;
})
.AddCookie()
.AddOpenIdConnect(o =>
{
o.ClientId = "sa";
o.ClientSecret = "sa";
o.Authority = "https://localhost:44352";
o.GetClaimsFromUserInfoEndpoint = true;
o.RequireHttpsMetadata = true;
});
Я добавил контроллер с атрибутом Authorize и добавил тестовый метод, чтобы посмотреть, что произойдет, когда я нажму на него из Swagger
Iсм. следующую ошибку
IOException: IDX20804: Unable to retrieve document from: 'https://localhost:44352/.well-known/openid-configuration'
Я не уверен, что это за ошибка.
Также я хотел бы спросить, правильно ли я это делаю.Могу ли я использовать тот же API (Authority? Как в (o.Authority = "https://localhost:44352";)) для аутентификации / получения токена).