262 messaggi dal 13 novembre 2009
Salve,
una domanda su come poter gestire e quindi verificare il token.
Dato un servizio aspnetcore che emette jwt token in base a username/passowrd come distinguere la distribuzione del token in base allo strumento utilizzato per la richiesta. Se interrogato da un cellulare/app emetterei un token, se da un desktop un altro token. Come verificare poi che il token in richiesta sia effettivamente inoltrato dal cellulare piuttosto che dal desktop? Il token è una stringa, poi copiarla e utilizzarla altrove.
Quindi come legare i ltoken al client? Questo servirebbe anche per personalizzare il numero di richieste e/o identificare in maniera specifica l'utente

grazie
11.862 messaggi dal 09 febbraio 2002
Contributi

Il token è una stringa, poi copiarla e utilizzarla altrove.

Un utente in grado di fare questo, potrà anche simulare su desktop le richieste che partono da smartphone, in tutto e per tutto.

Perché discriminare gli utenti in base al dispositivo usato? Ma se non ho capito male, qui si tratta di evitare che gli utenti divulghino le proprie credenziali ad altri soggetti. È il problema di Netflix, ed è tutt'altro che semplice da risolvere.
https://altadefinizione.hdblog.it/2019/01/12/synamedia-stop-condivisione-account-netflix/

Ovviamente una prima contromisura potrebbe essere quella di bloccare gli accessi da più indirizzi IP contemporaneamente.

Ma se vuoi assicurarti che i tuoi utenti tengano le proprie credenziali per sé, gli devi rilasciare qualcosa di fisico e difficilmente clonabile, tipo una smartcard da leggere con NFC. Questa smartcard potrebbe pure essere la carta d'identità elettronica italiana ma quanti hanno l'accoppiata NFC + CIE?

Oppure usi un accesso passwordless e recapiti un SMS all'utente con un codice di accesso univoco, ma l'utente può pur sempre comunicarlo per chat all'amico con cui ha condiviso le credenziali. Per questo la smartcard forse offre garanzie maggiori.

Qual è il vero requisito qui? Hai stimato il danno economico che deriva dall'usare lo stesso token (o le stesse credenziali) da dispositivi diversi?

ciao,
Moreno
Modificato da BrightSoul il 13 giugno 2019 22:44 -

Enjoy learning and just keep making
262 messaggi dal 13 novembre 2009
Grazie per la risposta
Vorrei quantomeno diversificare anche per ragioni commerciali il token se da web o il token da mobile.
Basterebbe verificare da che browser arriva la richiesta? Ad esempio
Legare ad esempio ad un sistema di throttling le richieste dal browser desktop rispetto alla app mobile.
Tracciare ip correggimi se sbaglio è relativo se le richieste arrivano da postazioni della stessa azienda. Arrivano tutte con lo stesso ip
262 messaggi dal 13 novembre 2009
Basterebbe verificare da che browser arriva la richiesta?
Intendo dire che la richiesta lato server potrebbe verificare le info relative all agent browser. Quindi anche se utilizzo chiamate callback con Angular su web o su Cordova potrei identificare che dispositivo fa la richiesta
11.862 messaggi dal 09 febbraio 2002
Contributi

Tracciare ip correggimi se sbaglio è relativo se le richieste arrivano da postazioni della stessa azienda. Arrivano tutte con lo stesso ip

Esatto, non ti aiuta a identificare la singola postazione.

Basterebbe verificare da che browser arriva la richiesta?

Sì, se vuoi differenziare tra browser mobile e desktop puoi esaminare la stringa dello user agent.
Ci sono dei pacchetti NuGet per fare questo lato server:
https://www.nuget.org/packages/DeviceDetector.NET/
https://www.nuget.org/packages/WURFL_Official_API/

Oppure tenti di fare il rilevamento lato client in base ad altre tecniche (es. se esiste la proprietà che indica l'orientamento - un sintomo che potrebbe trattarsi di un dispositivo mobile) e invii l'informazione "isMobile" (true o false) insieme alle credenziali di login.
https://coderwall.com/p/i817wa/one-line-function-to-detect-mobile-devices-with-javascript

ciao,
Moreno

Enjoy learning and just keep making
262 messaggi dal 13 novembre 2009
A prescindere dalla libreria pensi che useragent sia sicura? Nel senso che mi risulti possa essere sostituita anche tramite impostazioni browser o plugin
Infine penso che la soluzione definitiva sia lavorare o pacchetti di accessi a prescindere dal dispositivo
Modificato da flaviovb il 15 giugno 2019 17:05 -
11.862 messaggi dal 09 febbraio 2002
Contributi

A prescindere dalla libreria pensi che useragent sia sicura?

Assolutamente no. È un valore che arriva dal client e perciò può essere alterato a piacimento dello smanettone.
Prendila come una cosa affidabile la maggior parte delle volte, ma non a tenuta stagna.

Lo puoi usare per prendere delle decisioni che aiutano l'utente, tipo invogliarlo a scaricare l'app nativa (che è un messaggio che non visualizzeresti se si collegasse da desktop).
Non usare lo user-agent per decidere se deve pagare X anziché Y.

ciao,
Moreno

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.