Concessioni OAuth 2.0 - Amazon Cognito

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Concessioni OAuth 2.0

Il server di autorizzazione OAuth 2.0 del pool di utenti Amazon Cognito emette token in risposta a tre tipi di OAuth 2.0 di concessioni di autorizzazione. Puoi impostare i tipi di concessione supportati per ogni client dell'app nel pool di utenti. Non puoi abilitare concessioni delle credenziali del client nello stesso client dell'app come concessioni implicite o del codice di autorizzazione. Le richieste per concessioni implicite e del codice di autorizzazione iniziano in in Endpoint Authorize e le richieste per concessioni delle credenziali dei clienti iniziano in Endpoint Token.

Concessione codice autorizzazione

In risposta alla richiesta di autenticazione riuscita, il server di autorizzazione aggiunge un codice di autorizzazione in un parametro code all'URL di callback. Occorre quindi scambiare il codice per token ID, di accesso e di aggiornamento con Endpoint Token. Per richiedere una concessione del codice di autorizzazione, imposta response_type su code nella richiesta. Per una richiesta di esempio, consulta Concessione codice autorizzazione.

La concessione del codice di autorizzazione è la forma più sicura di concessione di autorizzazione. Non mostra il contenuto dei token direttamente agli utenti. L'app è invece responsabile del recupero e dell'archiviazione sicura dei token dell'utente. In Amazon Cognito, una concessione del codice di autorizzazione è l'unico modo per ottenere tutti e tre i tipi di token (ID, accesso e aggiornamento) dal server di autorizzazione. Puoi anche ottenere tutti e tre i tipi di token dall'autenticazione tramite l'API dei pool di utenti di Amazon Cognito, ma l'API non emette token di accesso con ambiti diversi da aws.cognito.signin.user.admin.

Implicit grant (Concessione implicita)

In risposta alla richiesta di autenticazione riuscita, il server di autorizzazione aggiunge un token di accesso in un parametro access_token e un token ID in un parametro id_token, all'URL di callback. Una concessione implicita non richiede alcuna interazione aggiuntiva con Endpoint Token. Per richiedere una concessione implicita, imposta response_type su token nella richiesta. La concessione implicita genera solo un ID e un token di accesso. Per una richiesta di esempio, consulta Concessione del token senza ambito openid.

La concessione implicita è una concessione di autorizzazione legacy. A differenza della concessione del codice di autorizzazione, gli utenti possono intercettare e ispezionare i token. Per impedire la distribuzione dei token tramite concessione implicita, configura il client dell'app in modo che supporti solo la concessione del codice di autorizzazione.

Client credentials (Credenziali del client)

Le credenziali del client sono concesse solo in base all'autorizzazione per l'accesso. machine-to-machine Per ricevere una concessione delle credenziali del client, ignora il Endpoint Authorize e genera una richiesta direttamente a Endpoint Token. Il client dell'app deve disporre di un segreto del client e supportare solo le concessioni delle credenziali del cliente. In risposta alla richiesta riuscita, il server di autorizzazione restituisce un token di accesso.

Il token di accesso proveniente dalla concessione delle credenziali del client è un meccanismo di autorizzazione che contiene ambiti OAuth 2.0. In genere, il token contiene attestazioni di ambito personalizzate che autorizzano operazioni HTTP alle API ad accesso protetto. Per ulteriori informazioni, consulta Autorizzazione Scopes, M2M e API con server di risorse.

Le concessioni di credenziali al cliente aggiungono costi alla fattura. AWS Per ulteriori informazioni, consultare Prezzi di Amazon Cognito.

Per ulteriori informazioni su queste sovvenzioni e sulla loro implementazione, consulta Come usare OAuth 2.0 in Amazon Cognito: scopri le diverse sovvenzioni OAuth 2.0 nel blog sulla sicurezza.AWS