Approvazione e revoca dei token di accesso

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>

&lt;Tokens&gt;/&lt;Token&gt; 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 sono accesstoken e refreshtoken:
      .
    • 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 su false.
    • Revoca sia il token di accesso sia il token di aggiornamento. A questo scopo, imposta <Token> digita in accesstoken. Il valore di cascade può essere true (il predefinita) o false. Se la imposti su true, verranno applicati entrambi i tipi di accesso e il token di aggiornamento sono revocati. Se la imposti su false, 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.

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>

&lt;Tokens&gt;/&lt;Token&gt; 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 sono accesstoken e refreshtoken.
  • cascade (facoltativo, booleano): per impostazione predefinita, questa opzione è impostata su true 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 su false, viene convalidato solo il token di accesso o di aggiornamento specificato.