OAuth-Ablaufvariablen

<ph type="x-smartling-placeholder"></ph> Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur Apigee X-Dokumentation.
Weitere Informationen

Apigee Edge kapselt OAuth 1.0a- und OAuth 2-Funktionen in einer Reihe von Richtlinien. Das Leben Zyklusverwaltung von Tokens und Secrets, einschließlich Generierung, Validierung und Speicherung, von Apigee Edge im Namen Ihrer Back-End-Dienste.

In diesem Dokument werden die durch OAuth-Richtlinien definierten Flussvariablen definiert. Die Variablen können zur Implementierung von benutzerdefiniertem Verhalten für OAuth-Abläufe. Informationen zur Verwendung von OAuth finden Sie unter OAuth.

OAuth 2.0-Vorgangsvariablen

Die in dieser Tabelle definierten Ablaufvariablen werden beim Ausführen der entsprechenden OAuth-Richtlinien ausgefüllt und sind somit für andere Richtlinien oder Anwendungen verfügbar, die im API-Proxy-Ablauf ausgeführt werden.

Zugriffstoken-Richtlinie überprüfen
  • organization_name
  • organization_name
  • developer.id
  • developer.app.name
  • client_id
  • grant_type
  • token_type
  • access_token
  • accesstoken.{custom_attribute}
  • issued_at
  • expires_in
  • status
  • scope
  • apiproduct.name*
  • apiproduct.<custom_attribute_name>*

* API-Produktvariablen

Beispielrichtlinie:

<OAuthV2 name="VerifyAccessToken">
    <Operation>VerifyAccessToken</Operation>
    <Scope>space-separated-scopes</Scope>*
    <AccessToken>flow.variable</AccessToken>*        
    <AccessTokenPrefix>Bearer</AccessTokenPrefix>*
</OAuthV2>

Es werden nur Inhabertokens unterstützt. MAC-Tokens werden nicht unterstützt.

Standardmäßig muss das Zugriffstoken in der HTTP-Anfrage für die Autorisierung übergeben werden. Header.

Beispiel:

"Authorization: Bearer {PlainText_AccessToken}"

Jedes flow.variable kann folgendermaßen übergeben werden:

  • HTTP Header: request.header.{variable_name}
  • Query parameter: request.queryparam.{variable_name}
  • Form parameter: request.formparam.{variable_name}

Wenn keine optionalen Felder angegeben sind, werden die Werte gemäß OAuth 2.0 extrahiert. Spezifikation zu ändern.

Autorisierungscode-Richtlinie generieren
Bei Erfolg festgelegte Variablen: <ph type="x-smartling-placeholder">
    </ph>
  • oauthv2authcode.{policy_name}.code
  • oauthv2authcode.{policy_name}.redirect_uri
  • oauthv2authcode.{policy_name}.scope
  • oauthv2authcode.{policy_name}.client_id

Beispielrichtlinie:

<OAuthV2 name="GetAuthCode">
  <Operation>GenerateAuthorizationCode</Operation>
  <ExpiresIn>1000<ExpiresIn>
  <ResponseType>flow.variable</ResponseType>*
  <ClientId>flow.variable</ClientId>*
  <RedirectUri>flow.variable</RedirectUri>*
  <Scope>flow.variable</Scope>*
  <State>flow.variable</State>*
  <Attributes>*   
    <Attribute name=1 ref=flow.variable”>value1</Attribute>
    <Attribute name=2 ref=flow.variable”>value2</Attribute>
  </Attributes>
</OAuthV2>

* Optional

Jedes flow.variable kann folgendermaßen übergeben werden:

  • HTTP Header: request.header.{variable_name}
  • Query parameter: request.queryparam.{variable_name}
  • Form parameter: request.formparam.{variable_name}

Wenn keine optionalen Felder angegeben sind, werden die Werte gemäß OAuth 2.0 extrahiert. Spezifikation zu ändern.

Attributwerte werden dynamisch aus der angegebenen Flussvariablen abgeleitet oder statisch unter Verwendung eines Standardwerts in der Richtlinie.

Wenn beide angegeben werden, hat die Flussvariable Vorrang.

Zugriffstoken-Richtlinie für Berechtigungstypen „Autorisierungscode“, „Nutzeranmeldedaten“ und Clientanmeldedaten
Bei Erfolg festgelegte Variablen: <ph type="x-smartling-placeholder">
    </ph>
  • oauthv2accesstoken.{policy_name}.access_token
  • oauthv2accesstoken.{policy_name}.token_type
  • oauthv2accesstoken.{policy_name}.expires_in
  • oauthv2accesstoken.{policy_name}.refresh_token

Beispielrichtlinie:

<OAuthV2 name="GenerateAccessToken">
  <Operation>GenerateAccessToken</Operation>
  <ExpiresIn>1000<ExpiresIn>
  <SupportedGrantTypes>*
    <GrantType>authorization_code</GrantType>
    <GrantType>password</GrantType>
   <GrantType>client_credentials</GrantType>
  </SupportedGrantTypes>
  <GrantType>flow.variable</GrantType>* 
  <ClientId>flow.variable</ClientId>* 
  <RedirectUri>flow.variable</RedirectUri>* 
  <Scope>flow.variable</Scope>* 
  <AppEndUser>flow.variable</AppEndUser>* 
  <Code>flow.variable</Code>* 
  <UserName>flow.variable</UserName>* 
  <PassWord>flow.variable</PassWord>*
  <Attributes>*
    <Attribute name=1 ref=flow.variable”>value1</Attribute> 
    <Attribute name=2 ref=flow.variable”>value2</Attribute>  
  </Attributes>
</OAuthV2>

* Optional

Jedes flow.variable kann folgendermaßen übergeben werden:

  • HTTP Header: request.header.{variable_name}
  • Query parameter: request.queryparam.{variable_name}
  • Form parameter: request.formparam.{variable_name}

Wenn keine optionalen Felder angegeben sind, werden die Werte gemäß OAuth 2.0 extrahiert. Spezifikation zu ändern.

Attributwerte werden dynamisch aus der angegebenen Flussvariablen abgeleitet oder statisch unter Verwendung eines Standardwerts in der Richtlinie.

Wenn beide angegeben werden, hat die Flussvariable Vorrang.

Zugriffstoken-Richtlinie für den impliziten Gewährungstyp generieren
Bei Erfolg festgelegte Variablen: <ph type="x-smartling-placeholder">
    </ph>
  • oauthv2accesstoken.{policy_name}.access_token
  • oauthv2accesstoken.{policy_name}.token_type
  • oauthv2accesstoken.{policy_name}.expires_in
  • oauthv2accesstoken.{policy_name}.refresh_token

Beispielrichtlinie:

<OAuthV2 name="GenerateAccessToken">
  <Operation>GenerateAccessTokenImplicitGrant</Operation>
  <ExpiresIn>1000<ExpiresIn>
  <ResponseType>flow.variable></ResponseType>*
  <ClientId>flow.variable></ClientId>*
  <RedirectUri>flow.variable></RedirectUri>*
  <Scope>flow.variable></Scope>*
  <State>flow.variable></State>*
  <AppEndUser>flow.variable</AppEndUser>*                                   
  <Attributes>*
    <Attribute name=1 ref=flow.variable”>value1</Attribute>
    <Attribute name=2 ref=flow.variable”>value2</Attribute>
  </Attributes>
</OAuthV2>

* Optional

Jedes flow.variable kann folgendermaßen übergeben werden:

  • HTTP Header: request.header.{variable_name}
  • Query parameter: request.queryparam.{variable_name}
  • Form parameter: request.formparam.{variable_name}

Wenn keine optionalen Felder angegeben sind, werden die Werte gemäß OAuth 2.0 extrahiert. Spezifikation zu ändern.

Attributwerte werden dynamisch aus der angegebenen Flussvariablen abgeleitet oder statisch unter Verwendung eines Standardwerts in der Richtlinie.

Wenn beide angegeben werden, hat die Flussvariable Vorrang.

Zugriffstoken-Richtlinie aktualisieren
Bei Erfolg festgelegte Variablen: <ph type="x-smartling-placeholder">
    </ph>
  • oauthv2accesstoken.{policy_name}.access_token
  • oauthv2accesstoken.{policy_name}.token_type
  • oauthv2accesstoken.{policy_name}.expires_in
  • oauthv2accesstoken.{policy_name}.refresh_token

Beispielrichtlinie:

<OAuthV2 name="RefreshAccessToken">
  <Operation>RefreshAccessToken</Operation>
  <ExpiresIn>1000<ExpiresIn>
  <GrantType>flow.variable</GrantType>*
  <RefreshToken>flow.variable</RefreshToken>*
</OAuthV2>

* Optional

Jedes flow.variable kann folgendermaßen übergeben werden:

  • HTTP Header: request.header.{variable_name}
  • Query parameter: request.queryparam.{variable_name}
  • Form parameter: request.formparam.{variable_name}

Wenn keine optionalen Felder angegeben sind, werden die Werte gemäß OAuth 2.0 extrahiert. Spezifikation zu ändern.

Richtlinie für Clientattribute abrufen

Beispielrichtlinie:

<GetOAuthV2Info name="GetClientAttributes">
<ClientId ref="{variable_name}"/>
</GetOAuthV2Info>

Beispielrichtlinie:

<GetOAuthV2Info name="GetClientAttributes">
  <ClientId>{client_id}</ClientId>
</GetOAuthV2Info>
Richtlinie für Zugriffstoken-Attribute abrufen
Bei Erfolg festgelegte Variablen: <ph type="x-smartling-placeholder">
    </ph>
  • oauthv2accesstoken.{policy_name}.access_token
  • oauthv2accesstoken.{policy_name}.scope
  • oauthv2accesstoken.{policy_name}.refresh_token
  • oauthv2accesstoken.{policy_name}.accesstoken.{custom_attribute_name}
  • oauthv2accesstoken.{policy_name}.developer.id
  • oauthv2accesstoken.{policy_name}.developer.app.name
  • oauthv2accesstoken.{policy_name}.expires_in
  • oauthv2accesstoken.{policy_name}.status

Beispielrichtlinie:

<GetOAuthV2Info name="GetTokenAttributes">
  <AccessToken ref="{variable_name}"/>
</GetOAuthV2Info>

Beispielrichtlinie:

<GetOAuthV2Info name="GetTokenAttributes">
<AccessToken>{access_token}</AccessToken>
</GetOAuthV2Info>
Richtlinie für Autorisierungscode-Attribute abrufen

Beispielrichtlinie:

<GetOAuthV2Info name="GetAuthCodeAttributes">
 <AuthorizationCode ref="{variable_name}"/>
</GetOAuthV2Info>

Beispielrichtlinie:

<GetOAuthV2Info name="GetAuthCodeAttributes">
    <AuthorizationCode>{authorization_code}</AuthorizationCode>
</GetOAuthV2Info>
Richtlinie für Aktualisierungstoken-Attribute abrufen

Beispielrichtlinie:

<GetOAuthV2Info name="GetTokenAttributes">
  <RefreshToken ref="{variable_name}"/>
</GetOAuthV2Info>

Beispielrichtlinie:

<GetOAuthV2Info name="GetTokenAttributes">
    <RefreshToken>{refresh_token}</RefreshToken>
</GetOAuthV2Info>

OAuth 1.0a-Ablaufvariablen

Die in dieser Tabelle definierten Ablaufvariablen werden beim Ausführen der entsprechenden OAuth-Richtlinien ausgefüllt und sind somit für andere Richtlinien oder Anwendungen verfügbar, die im API-Proxy-Ablauf ausgeführt werden.

Richtlinie für Anfragetoken generieren

Beispielrichtlinie:

<OAuthV1 name="GenerateRequestToken">
  <Operation>GenerateRequestToken</Operation>
</OAuthV1>

Bei Erfolg festgelegte Variablen:

  • oauth_token
  • oauth_token_secret
  • oauth_callback_confirmed
  • oauth_response
  • oauth_consumer_key
  • oauth_consumer_secret

Zugriffstoken-Richtlinie generieren

Beispielrichtlinie:

<OAuthV1 name="GenerateAccessToken">
  <Operation>GenerateAccessToken</Operation>
</OAuthV1>

Bei Erfolg festgelegte Variablen:

  • oauth_token
  • oauth_token_secret
  • oauth_response
  • oauth_consumer_key
  • oauth_consumer_secret

Bestätigung des Zugriffstokens Richtlinie

Beispielrichtlinie:

<OAuthV1 name="VerifyAccessToken">
  <Operation>VerifyAccessToken</Operation>
</OAuthV1>

Bei Erfolg festgelegte Variablen:

  • oauth_token
  • oauth_token_secret
  • oauth_response
  • oauth_consumer_key
  • oauth_consumer_secret

API-Schlüsselrichtlinie prüfen

Beispielrichtlinie:

<GetOAuthV1Info name="VerifyApiKey">
  <OAuthConfig>{config_name}</OAuthConfig>*
  <APIKey ref="{variable_name}" />
</GetOAuthV1Info>

* Optional

Bei Erfolg festgelegte Variablen:

  • oauth_consumer_key
  • oauth_consumer_secret

Nutzerrichtlinien überprüfen

Beispielrichtlinie:

<GetOAuthV1Info name="VerifyConsumer">
  <OAuthConfig>{config_name}</OAuthConfig>*
  <ConsumerKey ref="{variable_name}" />
</GetOAuthV1Info>

* Optional

Bei Erfolg festgelegte Variablen:

  • oauth_consumer_key
  • oauth_consumer_secret

Tokenrichtlinie überprüfen

Beispielrichtlinie:

<GetOAuthV1Info name="VerifyToken">
  <OAuthConfig>{config_name}</OAuthConfig>*
  <RequestToken ref="{variable_name}" />
</GetOAuthV1Info>

* Optional

Bei Erfolg festgelegte Variablen:

  • oauth_token
  • oauth_token_secret