OAuth variabili di contesto
È possibile personalizzare il flusso di sicurezza di " OAuth " in un provider nativo di " OAuth " aggiungendo più criteri " OAuth " all'assembly. Ogni politica di tipo « OAuth » riceve input dalle variabili di contesto e scrive l'output nelle variabili di contesto. Utilizzando queste variabili di contesto OAuth è possibile modificare la richiesta originale ed elaborare l'output generato da una policy OAuth.
- Variabili informative, risultati di una politica di OAuth.
- Variabili di elaborazione, elaborate durante l'esecuzione di una politica di OAuth.
Variabili di informazioni
Queste variabili di contesto sono il risultato di una politica di OAuth. Non vengono utilizzati nell'elaborazione dell'azione OAuth.
oauth.result- Il risultato dell'ultima azione; restituisce
SUCCESSoFAILURE. oauth.settings.variable_name- Impostazioni di base del provider OAuth. Sono disponibili le seguenti variabili di contesto:
oauth.settings.allowed_scopes oauth.settings.access_token_ttl oauth.settings.authorization_code_ttl oauth.settings.refresh_token_ttl oauth.settings.refresh_token_limit oauth.settings.maximum_consent_ttl oauth.executed_components[0].variable_name- I componenti che sono stati eseguiti in questa transazione, con il risultato. Se si verifica un errore, verranno aggiunti l'errore e la descrizione dell'errore. Sono disponibili le seguenti variabili di contesto:
I valori possibili per la variabileoauth.executed_components[0].result oauth.executed_components[0].type oauth.executed_components[0].error_description oauth.executed_components[0].errortypesono i seguenti:
L'esempio seguente mostra un estratto JSON corrispondente dal contesto OAuth :ValidateRequestComponent GenerateAZCodeComponent VerifyAZCodeComponent VerifyRefreshTokenComponent GenerateAccessTokenComponent IntrospectTokenComponent RevokeTokenComponent CollectMetaDataComponent"executed_components": [ { "type": "ValidateRequestComponent", "result": "SUCCESS" }, { "type": "GenerateAccessTokenComponent", "result": "SUCCESS" } ] oauth.verified_access_token.variable_name- Il token verificato nell'ambito dei requisiti di sicurezza per un provider nativo di OAuth. Sono disponibili le seguenti variabili di contesto:
oauth.verified_access_token.access_token oauth.verified_access_token.client_id oauth.verified_access_token.consented_on oauth.verified_access_token.consented_on_text oauth.verified_access_token.grant_type oauth.verified_access_token.misc_info oauth.verified_access_token.not_after oauth.verified_access_token.not_after_text oauth.verified_access_token.not_before oauth.verified_access_token.not_before_text oauth.verified_access_token.one_time_use oauth.verified_access_token.resource_owner oauth.verified_access_token.scope oauth.third_party.variable_name- Il token verificato nell'ambito dei requisiti di sicurezza per un provider di servizi di autenticazione ( OAuth ) di terze parti. Fornisce le seguenti informazioni:
- Le intestazioni di risposta provenienti dal provider esterno di servizi di gestione delle e-mail ( OAuth ).
- Il corpo della risposta proveniente dal provider di servizi di messaggistica istantanea ( OAuth ) esterno e di terze parti.
- Indica se la risposta è memorizzata nella cache. Quando viene memorizzato nella cache, il valore è
true. Quando non è memorizzato nella cache, il valore èfalse.
oauth.third_party.headers oauth.third_party.response oauth.third_party.cached oauth.code.variable_name- Il codice generato durante l'esecuzione di un componente di tipo
GenerateAZCodeComponent. Sono disponibili le seguenti variabili di contesto:oauth.code.client_id oauth.code.code oauth.code.redirect_uri oauth.code.resource_owner oauth.code.scope oauth.token.variable_name- Il token generato durante l'esecuzione di un componente di tipo
GenerateAccessTokenComponent. Sono disponibili le seguenti variabili di contesto:oauth.token.token_type oauth.token.access_token oauth.token.scope oauth.token.expires_in oauth.token.consented_on oauth.token.redirect_uri oauth.token.resource_owner oauth.token.client_id oauth.token.refresh_token oauth.token.refresh_token_expires_in oauth.token.refresh_token_count oauth.introspect.variable_name- Il token analizzato durante l'esecuzione di un componente di tipo
IntrospectTokenComponent. Sono disponibili le seguenti variabili di contesto:oauth.introspect.active oauth.introspect.scope oauth.introspect.client_id oauth.introspect.resource_owner oauth.introspect.token_type oauth.introspect.grant_type oauth.introspect.ttl oauth.introspect.expires oauth.introspect.expires_text oauth.introspect.iat oauth.introspect.not_before oauth.introspect.not_before_text oauth.introspect.consented_on oauth.introspect.consented_on_text oauth.introspect.one_time_use oauth.external_manager.variable_name- Gestione token quando si utilizza un gestore token esterno. Fornisce le seguenti informazioni:
- Le intestazioni di risposta dal server di gestione esterno.
- Il corpo JSON della risposta dal server di gestione esterno.
- Quando la memorizzazione nella cache è abilitata, se la risposta viene trovata nella cache o se è impostata nella cache. Quando la memorizzazione nella cache non è abilitata, la risposta non è impostata nella cache.
oauth.external_manager.headers oauth.external_manager.response oauth.external_manager.cached
Variabili di elaborazione
oauth.processing.assertion
oauth.processing.client_id
oauth.processing.client_secret
oauth.processing.grant_type
oauth.processing.redirect_uri
oauth.processing.scope
oauth.processing.response_type
oauth.processing.state
oauth.processing.resource_owner
oauth.processing.refresh_token
oauth.processing.code
oauth.processing.token
oauth.processing.token_type_hint
oauth.processing.nonce
oauth.processing.max_age
oauth.processing.oidc_values_requested
oauth.processing.id_token_requested
oauth.processing.oidc_signing_algorithm
oauth.processing.code_challenge
oauth.processing.code_challenge_method
oauth.processing.code_verifier
oauth.processing.metadata.access_token
oauth.processing.metadata.payload
oauth.processing.metadata.azcode_miscinfo
oauth.processing.verified_code.client_id
oauth.processing.verified_code.resource_owner
oauth.processing.verified_code.misc_info
oauth.processing.verified_code.scope
oauth.processing.verified_code.is_verified
oauth.processing.verified_code.nonce
oauth.processing.verified_refresh_token.client_id
oauth.processing.verified_refresh_token.resource_owner
oauth.processing.verified_refresh_token.misc_info
oauth.processing.verified_refresh_token.scope
oauth.processing.verified_refresh_token.refresh_token_count
oauth.processing.verified_refresh_token.is_verified
oauth.processing.verified_refresh_token.one_time_use
oauth.processing.verified_refresh_token.grant_typegateway-script politica che viene eseguita prima della politica " OAuth " nell'assembly dell'API e aggiunge un ambito personalizzato alla richiesta:// Add another custom scope to the request
let scope = context.get("request.parameters.scope.values[0]");
if (scope)
context.set("oauth.processing.scope", scope + " custom");gateway-script politica che si colloca tra le politiche di OAuth nell'assembly e modifica l'ambito a seconda del proprietario della risorsa:// Check resource owner and modify the scope
let owner = context.get("oauth.processing.resource_owner");
let scope = context.get("oauth.processing.scope");
if (owner === 'admin') {
context.set("oauth.processing.scope", scope + " admin");
} else {
context.set("oauth.processing.scope", scope + " customer");
}Variabili di contesto dell'ambito avanzato
Le seguenti variabili di contesto vengono utilizzate nel controllo avanzato dell'ambito di OAuth. Vengono popolati con i valori inseriti nei campi "Endpoint " e " TLS " del profilo client per il controllo dell'ambito dell'applicazione e il controllo dell'ambito del proprietario nella configurazione del provider nativo di OAuth. Non modificare questi valori poiché ciò potrebbe causare un'operazione di ambito avanzato non corretta.
Per informazioni sulla configurazione degli scope, consultare la sezione "Configurazione degli scope per un provider nativo di OAuth ". Per informazioni sul controllo dell'ambito avanzato, vedere Ambito.
oauth.advscope.app.url
oauth.advscope.app.tls-profile
oauth.advscope.own.url
oauth.advscope.own.tls-profile
Variabili di contesto di errore personalizzate
oauth.custom_error.status.code
oauth.custom_error.status.reason
oauth.custom_error.message
oauth.custom_error.description