Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione
Documentazione di Apigee X. Informazioni
Revoca dei token di accesso e di aggiornamento
In alcuni casi, le app devono revocare o invalidare esplicitamente i token, ad esempio quando un utente si disconnette da un'app abilitata per OAuth. Se revochi un token, puoi riapprovarlo in qualsiasi momento prima che scada.
La procedura per la revoca del token è definita dalla specifica per la revoca del token OAuth 2.0.
Apigee Edge fornisce un'operazione InvalidateToken che consente di configurare un servizio endpoint di revoca del token. Se pubblichi l'URI di questo endpoint, consenti agli sviluppatori di app di invalidare i token emessi da Edge.
Ecco un esempio di configurazione per il criterio OAuthV2 e l'operazione InvalidateToken. Nella in questo caso, sia il token di accesso che il token di aggiornamento associato vengono revocati. Tecnicamente, sono entrambi revocati perché il flag cascade è impostato su true. Per ulteriori informazioni su come il flag cascade funziona, consulta la sezione Attributi dell'elemento token di seguito.
<OAuthV2 name="InvalidateToken"> <Operation>InvalidateToken</Operation> <Tokens> <Token type="accesstoken" cascade="true">flow.variable</Token> </Tokens> </OAuthV2>
<Tokens>/<Token> elemento
Identifica la variabile di flusso che specifica il token da revocare. Se gli sviluppatori
dovrebbe inviare una richiesta di revoca utilizzando un parametro di query
denominata access_token
, ad esempio, la variabile di flusso corretta
potrebbe essere: request.queryparam.access_token
. Per richiedere il token in un'intestazione HTTP,
ad esempio, imposta questo valore su request.header.access_token
.
Attributi
-
type
(obbligatorio, stringa): il tipo di token identificato dalla variabile specificato. Valori supportati sonoaccesstoken
erefreshtoken:
- .
- Per revocare un token di accesso, specifica il tipo di token di accesso.
- Per revocare entrambi i token di accesso e di aggiornamento, specifica il tipo di refreshtoken. Quando rileva
digita refreshtoken, Edge presuppone che si tratti di un token di aggiornamento. Se il token di aggiornamento è
rilevato, la query viene revocata. Se il token di aggiornamento non viene trovato, Edge controlla se
per vedere se si tratta di un token di accesso. Se il token di accesso esiste, viene revocato.
Nota: se passi un token già invalidato a un InvalidateToken policy, il criterio non restituisce un errore, anche se ci si può aspettare. Un tale non ha alcun effetto.
-
cascade
(facoltativo, booleano, default: true) L'utilizzo principale di questa è revocare un token di aggiornamento senza revocare il token di accesso associato. Prendi in considerazione questi casi:- Revoca solo un token di aggiornamento e non revocare il token di accesso associato. Per farlo,
imposta <Token> digita su
refreshtoken
e imposta cascade sufalse
. - Revoca sia il token di accesso sia il token di aggiornamento. A questo scopo, imposta <Token>
digita in
accesstoken
. Il valore di cascade può esseretrue
(il predefinita) ofalse
. Se la imposti sutrue
, verranno applicati entrambi i tipi di accesso e il token di aggiornamento sono revocati. Se la imposti sufalse
, l'accesso è stato revocato e il token di aggiornamento è inutilizzabile. Per saperne di più, consulta la nota riportata di seguito. spiegazione. - Revoca un token di accesso e non revocare il token di aggiornamento associato. No supportati. Per ulteriori informazioni, consulta la nota riportata di seguito.
- Revoca solo un token di aggiornamento e non revocare il token di accesso associato. Per farlo,
imposta <Token> digita su
Nota: per motivi di sicurezza, se revochi una
il token di accesso, anche il token di aggiornamento associato verrà revocato. Pertanto, non puoi utilizzare
l'attributo cascade per revocare solo un token di accesso. Ad esempio, se imposti <Token>
digita su accesstoken
e imposta cascade=false
, il token di accesso viene revocato
(come previsto); Tuttavia, il token di aggiornamento associato è inutilizzabile. Non può essere utilizzato per aggiornare
il token di accesso revocato. Il caso d'uso principale dell'attributo cascade è quando vuoi solo
revocare un token di aggiornamento. In tal caso, imposta <Token> digita in refreshtoken
,
e imposta cascade=false
. Il token di aggiornamento verrà revocato, ma l'accesso associato
rimarrà valido (fino alla scadenza o alla revoca). Per ulteriori informazioni, leggi questo
Discussione del forum della community.
Approvazione dei token di accesso e di aggiornamento in corso...
Utilizzare l'operazione ConvalidaToken per "riapprovare" un token revocato. Vale a dire che quando applichi questo lo stato del token di accesso o di aggiornamento scelto come target viene modificato da "revoked" a "approvato". Puoi convalidare qualsiasi token revocato che non sia già scaduto.
<OAuthV2 name="ValidateToken"> <Operation>ValidateToken</Operation> <Tokens> <Token type="refreshtoken" cascade="true">flow.variable</Token> </Tokens> </OAuthV2>
<Tokens>/<Token> elemento
Identifica la variabile di flusso che specifica il token da convalidare. Se gli sviluppatori
dovrebbe inviare una richiesta di convalida utilizzando un parametro di query
denominata access_token
, ad esempio, la variabile di flusso corretta
potrebbe essere: request.queryparam.access_token
. Per richiedere il token in un'intestazione HTTP,
ad esempio, imposta questo valore su request.header.access_token
.
Attributi
type
(obbligatorio, stringa) Il tipo di token identificato dalla variabile specificato. Valori supportati sonoaccesstoken
erefreshtoken
.cascade
(facoltativo, booleano): per impostazione predefinita, questa opzione è impostata sutrue
e la convalida si propaga ai token associati. Pertanto, se applicato a un token di aggiornamento, viene convalidato anche il relativo token di accesso. Se applicata a un accesso viene convalidato anche il relativo token di aggiornamento. Se la imposti sufalse
, viene convalidato solo il token di accesso o di aggiornamento specificato.