Stai visualizzando la documentazione di Apigee Edge.
Consulta la
documentazione di Apigee X. info
Apigee Edge fornisce il framework OAuth 2.0 per proteggere le API. OAuth2 è uno degli schemi di autenticazione e autorizzazione basati su token e standard aperti più diffusi. Consente alle applicazioni client di accedere alle API per conto degli utenti senza richiedere agli utenti di divulgare il proprio nome utente e la propria password.
Apigee Edge consente agli sviluppatori di generare token di accesso e/o di aggiornamento implementando uno dei quattro tipi di concessione OAuth2 (credenziali client, password, implicita e codice di autorizzazione) utilizzando il criterio OAuthv2. Le applicazioni client utilizzano i token di accesso per utilizzare le API sicure. Ogni token di accesso ha un proprio tempo di scadenza, che può essere impostato nel criterio OAuthv2.
I token di aggiornamento vengono emessi facoltativamente insieme ai token di accesso con alcuni tipi di concessione. I token di aggiornamento vengono utilizzati per ottenere nuovi token di accesso validi dopo la scadenza o la revoca del token di accesso originale. La data di scadenza dei token di aggiornamento può essere impostata anche nel criterio OAuthv2.
Antipattern
L'impostazione di un periodo di scadenza lungo per un token di accesso e/o un token di aggiornamento nel criterio OAuthv2 comporta l'accumulo di token OAuth e un aumento dell'utilizzo dello spazio su disco sui nodi Cassandra.
Il seguente esempio di criterio OAuthV2 mostra un periodo di scadenza lungo di 200 giorni per i token di aggiornamento:
<OAuthV2 name="GenerateAccessToken"> <Operation>GenerateAccessToken</Operation> <ExpiresIn>1800000</ExpiresIn> <!-- 30 minutes --> <RefreshTokenExpiresIn>17280000000</RefreshTokenExpiresIn> <!-- 200 days --> <SupportedGrantTypes> <GrantType>password</GrantType> </SupportedGrantTypes> <GenerateResponse enabled="true"/> </OAuthV2>
Nell'esempio precedente:
- Il token di accesso è impostato con un periodo di scadenza ragionevolmente inferiore di 30 minuti.
- Il token di aggiornamento è impostato con un periodo di scadenza molto lungo di 200 giorni.
- Se il traffico verso questa API è di 10 richieste al secondo, può generare fino a 864.000 token in un giorno.
- Poiché i token di aggiornamento scadono solo dopo 200 giorni, persistono nel datastore (Cassandra) per un lungo periodo di tempo, con conseguente accumulo continuo.
Impatto
- Comporta una crescita significativa dell'utilizzo dello spazio su disco nel datastore (Cassandra).
- Per gli utenti di Private Cloud, questo potrebbe aumentare i costi di archiviazione o, nel peggiore dei casi, il disco potrebbe riempirsi e causare errori di runtime o un'interruzione.
Best practice
Utilizza un periodo di scadenza inferiore appropriato per i token di accesso e di aggiornamento OAuth in base ai requisiti di sicurezza specifici, in modo che vengano eliminati rapidamente ed eviti l'accumulo.
Imposta il periodo di scadenza dei token di aggiornamento in modo che sia valido per un periodo leggermente più lungo rispetto ai token di accesso. Ad esempio, se imposti 30 minuti per il token di accesso, imposta 60 minuti per il token di aggiornamento.
In questo modo:
- Hai tutto il tempo per utilizzare un token di aggiornamento per generare nuovi token di accesso e di aggiornamento dopo la scadenza del token di accesso.
- I token di aggiornamento scadranno un po' di tempo dopo e potranno essere eliminati in modo tempestivo per evitare l'accumulo.