#identityserver4 #abp
#identityserver4 #abp
Вопрос:
В настоящее время источники cors настроены в настройках приложений, однако я не могу настроить так, чтобы он получал исходные данные из базы данных SQL Server.
Я прокомментировал это с разделами ORIGINS, однако у меня это уже настроено в базе данных, но оно отклоняется
Это ошибка, которую я получаю при вызове из http://localhost:3000
Доступ к XMLHttpRequest в ‘https://ids.local/connect/userinfo » из источника «http://localhost:3000 ‘ заблокирован политикой CORS:
ответ на предполетный запрос не проходит проверку контроля доступа: на запрошенном ресурсе отсутствует заголовок ‘Access-Control-Allow-Origin’.
Ответ №1:
Примените их к проекту IdentityServer:
- Добавить
AllowedCorsOrigins
в конфигурацию клиента наConfig.cs
или в DB (если используется EF)
AllowedCorsOrigins =
{
"http://localhost:3000"
},
Обязательно используйте источник (не URL) при настройке CORS. Например: https://foo:123 / — это URL-адрес, тогда как https://foo:123 это происхождение.
Ссылка: http://docs.identityserver.io/en/dev/topics/cors.html#client-based-cors-configuration
- Если у вас есть пользовательская политика cors, добавьте ее в
startup.cs
—ConfigureServices
.
services.AddCors(options =>
{
options.AddPolicy("default", policy =>
{
.AllowAnyHeader()
.AllowAnyMethod()
.AllowCredentials();
});
});
- При включении
startup.cs
Configure
добавьте cors после IdentityServer.
app.UseIdentityServer();
app.UseCors("default");
IDS4 уже зарегистрировал пользовательскую политику cors, если она у вас тоже есть, обязательно добавьте ее после промежуточного программного обеспечения IDS4
Комментарии:
1. спасибо за ответ, однако я хочу получить CorsOrigins из базы данных SQL Server. Я не хочу жестко кодировать его, не иметь его в appsettings.json
2. Какое значение у вас есть в БД?
3. Обновил свой ответ, я думаю, я знаю проблему с уром, ее причину упорядочения промежуточного программного обеспечения
4. Это сбивает с толку. Мне нужны настройки и конфигурация только в том случае, если мы используем базу данных SQL Server с использованием EF. Опять же, я не использую пользовательские CORS, поэтому любую конфигурацию, которую я хочу получить из таблиц базы данных IdentityServer4
5. Вам также не нужны usecors, просто удалите это тоже, вот рабочий пример github.com/nahidf/IdentityServer4-adventures/blob /. … В моем примере есть JS-клиент, который полностью функционирует, просто установив cors в конфигурации клиента (мой образец находится в памяти, но не отличается для db)