Se utilizzo Facebook o Google come provider di autenticazione, ottengono l'accesso ai dati nel mio sito web? Possono scriverlo con un bot? Posso impedire loro di ottenere questo accesso?
Disimballiamo questo nelle domande specifiche. Cercherò di essere breve nelle mie risposte perché il tema generale dovrebbe darti un'idea della situazione ...
do they gain access to the data in my website?
Supponendo che i dati siano protetti dai controlli di accesso - e non già pubblici - allora sarebbe una violazione della tua fiducia nel fornitore di autorizzazioni di terze parti perché possano accedere direttamente ai dati del tuo sito. È improbabile che lo facciano, perché il valore di rubare i tuoi dati non sarebbe utile dato il valore perso se perdessero la tua fiducia.
Ma tecnicamente parlando, non c'è nulla nel protocollo OAuth che possa impedire a un provider di falsificare l'identità dell'utente. Utilizzando un fornitore di terze parti, sia tu che i tuoi utenti vi confidate di non farlo.
Can they scrape it with a bot?
Dato che potrebbero falsificare un utente, potrebbero presumibilmente ottenere l'accesso al tuo sito eseguendo un handshake OAuth. Se è stato autenticato e compreso il tuo schema di autenticazione (ad esempio stai usando un cookie di autenticazione, o il bot sa come utilizzare il tuo schema Bearer Token o simile), potrebbero teoricamente sfogliare la parte autenticata del tuo sito per grattarlo.
Ma come accennato in precedenza, probabilmente non lo farebbero. Di nuovo, questo è il rischio che si prende usando un fornitore di terze parti. Devi fidarti di loro.
Can I prevent them from gaining this access?
Non proprio. Se sei solo preoccupato dell'accesso automatico, potresti fare qualcosa per oscurare l'autenticazione tra il client e il server in modo che un web raschiatore non sia in grado di sapere come usare il token di autenticazione. Ad esempio, potresti cambiare il nome dell'intestazione. Detto questo ... probabilmente è una cattiva idea. Esistono numerose ipotesi formulate dai server Web e dagli strumenti di monitoraggio dei server che potrebbero aiutare a evitare perdite di intestazioni delle autorizzazioni, il che potrebbe non essere vero per altre intestazioni.
Tutto sommato, se hai intenzione di utilizzare un fornitore di autorizzazioni di terze parti, devi avere la certezza che avranno garanzie appropriate per proteggere la tua applicazione da un uso improprio. Se l'assegnazione di questo trust a terze parti non è appropriata per il livello di accettazione del rischio, non utilizzare un provider di identità di terze parti.
Leggi altre domande sui tag authentication