Tipo di assegnazione implicita
Utilizzare questo tipo di privilegio quando l'applicazione personalizzata non può mantenere riservate le credenziali client e riceve un token di accesso direttamente da una richiesta di autorizzazione anziché tramite un codice di autorizzazione intermedio.
Nel diagramma riportato di seguito viene visualizzato il flusso Tipo di concessione implicita.

In questo flusso OAuth:
-
Un'applicazione personalizzata, ad esempio, viene implementata in un'applicazione lato client utilizzando un linguaggio di script come JavaScript o implementata per un dispositivo mobile. L'utente richiede l'autenticazione e l'autorizzazione tramite l'applicazione.
-
L'applicazione client richiede all'utente di fornire le proprie credenziali.
-
L'utente immette le proprie credenziali.
-
Se autorizzato, l'utente viene reindirizzato a un URL che contiene il token di accesso in un frammento URL.
-
L'applicazione estrae il token di accesso dall'URL.
-
L'applicazione utilizza il token di accesso in una richiesta di risorse protette, ad esempio una lista di utenti.
Funzione | Disponibili |
---|---|
Richiede l'autenticazione del client | No |
Richiede al client di conoscere le credenziali utente | No |
Interazione con l'utente finale basata sul browser | Sì |
Può utilizzare un provider di identità esterno per l'autenticazione | Sì |
Il token di aggiornamento è consentito | No |
Il token di accesso si trova nel contesto dell'utente finale | Sì |
Vedere un esempio di flusso di autorizzazione Tipo di concessione implicita.
Esempio di flusso di autorizzazione del tipo di concessione implicita
Questo esempio di autorizzazione del tipo di privilegio implicito descrive il flusso di autorizzazione per le applicazioni implementate in un browser Web utilizzando un linguaggio di scripting quale JavaScript o implementate su un dispositivo mobile. Un token di accesso viene restituito al client tramite un reindirizzamento del browser in risposta alla richiesta di autorizzazione del proprietario della risorsa (anziché un codice di autorizzazione intermedio).
Quando si crea un'applicazione per l'autorizzazione dell'applicazione lato client nella console del dominio di Identity:
-
Specificare che si tratta di un tipo di applicazione mobile.
-
Selezionare Implicito come tipo di privilegio. Questo tipo di applicazione non può mantenere un segreto e viene eseguito su un browser Web non autenticato o su un dispositivo mobile.
Per ulteriori informazioni sul tipo di privilegio implicito e su un diagramma di flusso di autorizzazione, vedere Tipo di privilegio implicito.
Passi elaborazione
-
Un utente fa clic su un collegamento di accesso nella propria applicazione browser o tocca un pulsante di accesso sul proprio dispositivo, richiedendo l'accesso a risorse protette da un'applicazione client.
-
Il client reindirizza il browser al server di autorizzazione OAuth con una richiesta di autorizzazione.
L'URL di accesso contiene parametri di query che indicano il tipo di accesso richiesto:
Richiesta di esempiohttps://acme.identity.us.oraclecloud.com/oauth2/v1/authorize?client_id=<client-id>&response_type=token&redirect_uri=<client-redirect-uri>&scope=<scope>&nonce=<nonce-value>
Nota
Un valore nonce è una stringa casuale crittograficamente forte che viene utilizzata per impedire il riutilizzo delle risposte intercettate. -
Se l'utente non è già connesso, il server di autorizzazione OAuth richiede all'utente di eseguire l'autenticazione. Il server di autorizzazione OAuth autentica l'utente e fornisce una pagina di consenso per consentire all'utente di autorizzare la condivisione delle informazioni.
-
Dopo l'autorizzazione dell'utente, il server di autorizzazione OAuth reindirizza il browser al sito richiedente con un token di accesso.Nota
Se l'utente non esegue l'autenticazione, viene restituito un errore anziché il token di accesso. -
Viene restituito il token di accesso contenente tutti gli ambiti applicabili in base ai privilegi rappresentati dai ruoli applicazione concessi all'applicazione client richiedente e all'utente specificato dalla richiesta del client (se presente).
-
Il sito richiedente utilizza il token di accesso in una chiamata API per ottenere dati protetti.