Sto utilizzando JavaScript (angularjs) sul sito UI/progetto e Web API 2 e altro sito/progettocome nascondere o proteggere il token nel passaggio da javascript per API Web 2
progetto UI: localhost/12345
API Web: localhost/98777
Il progetto UI sta chiamando il progetto Web API (C#) passando il token dall'interfaccia utente a WebAPI per le richieste CRUD.
ho generato il token nel progetto di ServerSide - WEB API2 (localhost/98777), 1- username/password 2- poi l'url localhost:/98777/Token, passando nome utente + password + gettone
con questo modo restituisce un token se lo si chiama in fiddler: con content-type: application/x-www-form-urlencoded. In questo modo un token viene generato e scritto nel DB locale, in seguito questo token generato può essere utilizzato nell'app dell'interfaccia utente per chiamare con javascript (ajax/angolare) passando al progetto WebAPI.
Ho implementato il token bearer chiamando i metodi GET/POST/PUT nel mio sito client.
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/
questo mi restituisce i dati tutti gli impiegati ... funziona.
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>
PROBLEMA? Il problema è che le persone possono fare e aprire gli strumenti per sviluppatori in IE/Chrome/FF e vedere i sorgenti di javascript e guardare il token. e quindi eseguire il codice in Fiddler/compositore e aggiungere record :(.
così perché ho bisogno di un token poi ????
Può consigli a qualcuno che parte mi manca? E 'normale che la gente può vedere il token?
Questa applicazione sarà utilizzato in intranet e utilizzato dagli sviluppatori, quindi ho bisogno di fissarlo massima ...
Supponendo che l'utente/token sia autorizzato ad aggiungere record, perché dovrebbe essere importante se la richiesta proviene dalla console o dall'interfaccia utente? – levi
Non si protegge il token dall'utente autorizzato. Stai usando SSL per proteggere quel token da altre persone? Questo sarebbe il rischio per la sicurezza. –