Credenziali client OAuth2 e app native

3

La specifica OAuth2 sembra considerare app native (Android e iOS) come "client pubblici", in definitiva significa che non possono utilizzare il flusso delle "credenziali del cliente". Detto questo, come si fa a richiedere un'autenticazione su endpoint che espongono risorse di proprietà del cliente (al contrario di quelle di proprietà dell'utente)?

Nel mio scenario sto sviluppando un'API REST che espone alcuni endpoint che non necessitano dell'autenticazione dell'utente ma che preferirei non lasciare "aperti" (cioè, mi piacerebbe richiedere qualche forma di autenticazione per prevenire gli abusi). Attualmente sto usando il flusso delle "credenziali del cliente" con una password vuota, ma ritengo che questa sia una violazione del protocollo. Sto facendo le cose sbagliate?

    
posta Roy Stark 07.09.2015 - 15:33
fonte

1 risposta

1

OAuth2 con "credenziali client" senza password nel tuo scenario suona bene. Ciò ti consente di aggiungere altri tipi di sovvenzioni garantiti basati su oauth in futuro.

Consiglierei di aggiungere i controlli per l'abuso, limitando le richieste. Questo proteggerebbe dagli attacchi di tipo Denial of Service, limiterebbe il numero di connessioni in un periodo di tempo (usando le quote) o limiterebbe il numero di connessioni simultanee (limiti di velocità). Questo tipo di protezione viene in genere eseguita utilizzando gateway API come a127 o volos.

    
risposta data 11.09.2015 - 21:33
fonte

Leggi altre domande sui tag