używam JavaScript (angularjs UI) na stronie internetowej projektu i/API 2, a drugiej strony/Projectjak ukryć lub zabezpieczyć token podczas przechodzenia z javascript do Web API 2
projekt UI: localhost/12345
Web API: localhost/98777
Projekt UI wywołuje projekt Web API (C#) przekazujący token z interfejsu użytkownika do interfejsu WebAPI dla żądań CRUD.
Mam wygenerowany token w projekcie po stronie serwera - Web API2 (localhost/98777), 1- login/hasło 2- wtedy url localhost:/98777/Reklamowe, przechodząc login + hasło + żeton
w ten sposób zwraca token, jeśli wywołasz go w skrzypce: z typem treści: application/x-www-form-urlencoded. W ten sposób generowany jest token i zapisywany do localDB, później ten wygenerowany token może być użyty w aplikacji użytkownika do wywoływania z javascript (ajax/angle), przechodząc do projektu WebAPI.
Zaimplementowałem token nośnika wywołujący metody GET/POST/PUT w mojej witrynie klienta.
localhost/12345 defined in Client site to get employee records via token:
----------------------------------------------
method: 'GET'
contenttype: 'application/json, charset=utf-8',
authorization: "Bearer 040jdU6ry....."
url: localhost/98777/api/employees/
to zwraca mi dane wszystkich pracowników ... to działa.
localhost/98777 defined in server site web.config:
---------------------------------
<httpProtocol>
<customHEaders>
<remove name="Access-Control-Allow-Origin" />
<add name="Access-Control-Alllow-Origin" value ="*"/>
<customHeaders>
</httpProtocol>
PROBLEM? Problem polega na tym, że ludzie mogą zrobić i otworzyć narzędzia dla programistów w IE/Chrome/FF i zobaczyć źródła javascript i spojrzeć na token. a następnie wykonanie kodu w Skrzypek/kompozytor i dodać rekordy :(.
więc dlaczego muszę token następnie ????
Może ktoś rada jaką część mi brakuje? Czy to normalne, że ludzie można zobaczyć token?
Ta aplikacja będzie używany w intranecie i używane przez programistów, więc trzeba zabezpieczyć go maksymalnie ...
Zakładając, że użytkownik/token jest upoważniony do dodawania rekordów, dlaczego miałoby to znaczenie, gdyby żądanie pochodziło z konsoli lub interfejsu użytkownika? – levi
Nie chronisz tokena przed autoryzowanym użytkownikiem. Czy korzystasz z protokołu SSL w celu ochrony tego tokena przed innymi osobami? To byłoby ryzyko bezpieczeństwa. –