Проблема CORS — между разработчиком и продуктомC#

Место общения программистов C#
Ответить
Anonymous
 Проблема CORS — между разработчиком и продуктом

Сообщение Anonymous »

У меня возникла проблема с CORS при попытке запустить мое приложение ReactJS с моим API C#, когда этот API размещен на моем локальном сервере IIS с использованием HTTPS.
Вот подробности моей настройки.
  • Внешний интерфейс: ReactJS, TailWind CSS
  • Внешний интерфейс: C# .Net 8, база данных SQL, хостинг на местном машина IIS.
  • Auth0 Как IDProvider
  • У меня есть собственное доменное имя, скажем, «MyDomain.ca»
  • Установка SSL Cetificat на IIS
Когда я работаю на своем компьютере для разработки и использую свой API, который также работает на моем компьютере для разработки «https://localhost:7248/api», веб-приложение работает. как предположим. CORS не блокирует меня.
Когда я меняю URL-адрес API для своего домена, https://MyDomain.ca/API CORS продолжает меня блокировать.
Я установил Swagger с API, поэтому могу вызывать API. Я могу войти в систему без каких-либо проблем. Свагер ответил мне:

Код: Выделить всё

access-control-allow-credentials: true
access-control-allow-origin: https://MyDomain.ca
cache-control: no-cache,no-store
content-type: application/json; charset=utf-8
date: Fri,06 Dec 2024 19:15:11 GMT
expires: Thu,01 Jan 1970 00:00:00 GMT
pragma: no-cache
server: Microsoft-IIS/10.0
vary: Origin
x-firefox-spdy: h2
x-powered-by: ASP.NET
Но когда я пытаюсь войти в систему с помощью моего приложения React, запущенного с http://localhost:5173/, я получил ошибку, подобную той, что в консоли браузера

Код: Выделить всё

XHR OPTIONS https://myAuth0Domain.us.auth0.com/authorize?...blah.. CORS Missings Origin
А также:

Код: Выделить всё

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at
Я установил свой домен в соответствующем параметре диспетчера приложений Auth0,
URI входа в приложение: https://MyDomain.ca
Разрешенный URL-адрес обратного вызова: https: //MyDomain.ca/api/callback, http://localhost:5173/api/auth/callback
Разрешенные веб-источники: https://MyDomain.ca,http://localhost:5173
Я также установил источник в своем API .net, вот так:

Код: Выделить всё

      // [More code]

builder.Services.AddHttpClient();
builder.Services.AddCors(options =>
{
options.AddPolicy("AllowSpecificOrigin", corsBuilder =>
corsBuilder.WithOrigins("http://localhost:5173",
"https://MyDomain.ca")
.AllowAnyHeader()
.AllowAnyMethod()
.AllowCredentials());
});
// [More code]
app.UseCors("AllowSpecificOrigin");
// [More code]
Я думаю, что

Код: Выделить всё

access-control-allow-origin: https://MyDomain.ca
отсутствует в заголовке, когда я пытаюсь войти в систему из своего веб-приложения. Но я не знаю, что делать, чтобы это исправить.
Мне нужна помощь, чтобы решить мою проблему.
Спасибо
Хьюго

Подробнее здесь: https://stackoverflow.com/questions/792 ... v-and-prod
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»