Poiché le app mobili non possono garantire la riservatezza dello client_secret
, possono utilizzare un tipo di sovvenzione che non lo richiede. Questo è il Implicit Grant
. L'idea è quella di reindirizzare il browser mobile al punto finale di autorizzazione mediante response_type=token
parametro:
https://example.com/authorize?response_type=token&client_id=CLIENT_ID&redirect_uri=http://REDIRECT_URI
Dopo l'autenticazione dell'utente nei confronti del provider di identità del browser verrà reindirizzato alla redirect_uri
specificato nella richiesta di autorizzazione e passò un token di accesso :
http://REDIRECT_URI/#token=ACCESS_TOKEN
È quindi possibile intercettare la richiesta di questo URL specificamente realizzato nel browser (sottoscrivendo gli eventi corrispondenti che vengono attivati quando l'URL cambia), estrarre il token di accesso che è passato e utilizzare questo token per fare au richieste thenticated.
Se qualcuno ottiene l'id del client, è possibile utilizzarlo per creare un'app duplicata? Come funziona la sicurezza nello scenario sopra?
OAuth 2 non è progettato per proteggere la proprietà intellettuale della vostra applicazione. è un protocollo di autenticazione. Con o senza di essa, chiunque può duplicare la tua applicazione. L'idea è che senza l'client_secret
un'applicazione non può usare i tipi di sovvenzione che lo richiedono e che di solito danno più permessi e ambiti ai token di accesso emessi.
fonte
2015-11-29 10:59:30