Софтуерно Инженерство
Loading...
+ Нов въпрос
Kibork avatar Kibork 87 Точки

[Useful Info] Web Services and Cloud - Web Api - enable CORS

MOD EDIT: Погледнете Best Answer-a, Колеги

Здравейте.

По екипния проект сме понаправили backend (Web Api проект с автоматично генерирана Authentication), в момента го вързваме с прост frontend (две поленца за username и password и бутон за логин). Имаме следния проблем:

При логин (/Token) заявката минава, параметрите се изпращат правилно, връща 200 ОК, но не иска да прочете JSON-a, който се връща от сървъра - дава, че първият символ е грешен.

Заявката работи успешно през Postman. Не работи през Hurl.

Какво сме опитали до момента?

- да настроим CORS

- преровихме си кода за грешки...

Register работи и през Postman и през формичката... Логин - нъцки...

 

Някой да се е изправял пред този проблем и да може да даде съвет?

Отбор черешка (French-Lime) благодари сърдечно предварително за всякакви отговори и насоки :)

 

Тагове:
0
C# Web Services & Cloud 09/04/2015 14:32:50
jabalka avatar jabalka SoftUni Team 959 Точки
Best Answer

Здравейте. Не постнахме код, защото мислихме, че на концептуално ниво може да решим проблема. Anyway. Решихме го.

Трябваше да се enable-не CORS (Cross-Origin Resource Share), защото реално клиентът се стартира от един origin, а сървърната логика е на друг. Повече за CORS може да прочетете ТУК - какво е, защо го има и т.н.

Ето една статия по темата - как да позволим това in general. Но не работи за login (по defaul /Token).

Та, какво правим тогава? След като сме прочели горната статия знаем как да питаме Гуугъл и той е така учтив да ни препрати към точната статия в Stack Overflow :) Просто в главния Web.Config на проекта си трябва да добавите:

<httpProtocol>
  <customHeaders>
    <add name="Access-Control-Allow-Origin" value="*" />
    <add name="Access-Control-Allow-Methods" value="GET, POST, OPTIONS, PUT, DELETE" />
  </customHeaders>
</httpProtocol>

Оказа се супер елементарно... Нали :)

Все пак препоръчвам да прочетете и статиите, за да разберете какво правят тези два реда и да не си направите бели (позволява се CORS към всички домейни реално, което не е съвсем яко).

Може би за вас това не е нова информация - за мен беше и ми е приятно да я споделя.

 

Хайде спорно джиткане по екипния проект!

4
gngeorgiev avatar gngeorgiev 90 Точки

Постваш код - помагаме, не постваш код - гадаем :)

0
ZvetanIG avatar ZvetanIG 925 Точки

Преминах през същите перипети и след един загубен ден стигнах до същите статии и заключения.  Но уви не става.  Работи само регистрацията, но не и логина.  Незнам какви мъгии сте му направили, но просто нестава.  Явно ще си правим собствен логин.... 

Между другото Честити Рождество Христово.

1
Matrix avatar Matrix 1087 Точки

"Между другото Честити Рождество Христово."

Цецо, май си прекалил с алкохола по праниците :D

Воистина воскресе! :)

1
12/04/2015 01:18:37
RoYaL avatar RoYaL SoftUni Team Trainer 6883 Точки

Весела Коледа и на теб

2
ZvetanIG avatar ZvetanIG 925 Точки

Ха сега на трезво... laughing

Христос възкресе

P.S.  То с този сняг наскоро, как да не се обърка човек.

1
12/04/2015 10:21:40