OAuth-Ablaufvariablen

Sie lesen gerade die Apigee Edge -Dokumentation.
Zur Apigee X -Dokumentation.
info

Apigee Edge kapselt OAuth 1.0a- und OAuth 2-Funktionen in einer Reihe von Richtlinien. Die Lebenszyklusverwaltung von Tokens und Secrets, einschließlich Generierung, Validierung und Speicherung, wird von Apigee Edge im Namen Ihrer Backend-Dienste verwaltet.

In diesem Dokument werden die von OAuth-Richtlinien definierten Ablaufvariablen angegeben. Die Variablen können verwendet werden, um benutzerdefiniertes Verhalten für OAuth-Abläufe zu implementieren. Informationen zur OAuth-Verwendung finden Sie unter OAuth.

OAuth 2.0-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 zum Prüfen des Zugriffstokens
  • 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 Bearer-Tokens unterstützt. MAC-Tokens werden nicht unterstützt.

Standardmäßig muss das Zugriffstoken im HTTP-Anfrageheader „Authorization“ übergeben werden.

Beispiel:

"Authorization: Bearer {PlainText_AccessToken}"

Jede flow.variable kann so übergeben werden:

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

Wenn die optionalen Felder nicht angegeben sind, werden die Werte gemäß der OAuth 2.0 Spezifikation extrahiert.

Richtlinie zum Generieren des Autorisierungscodes
Variablen, die bei Erfolg festgelegt werden:
  • 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

Jede flow.variable kann so übergeben werden:

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

Wenn die optionalen Felder nicht angegeben sind, werden die Werte gemäß der OAuth 2.0 Spezifikation extrahiert.

Attributwerte werden dynamisch aus der angegebenen Ablaufvariablen oder statisch mit einem Standardwert in der Richtlinie abgeleitet.

Wenn beide angegeben sind, hat die Ablaufvariable Vorrang.

Richtlinie zum Generieren des Zugriffstokens für die Berechtigungstypen „Autorisierungscode“, „Nutzeranmeldedaten“ und Clientanmeldedaten
Variablen, die bei Erfolg festgelegt werden:
  • 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

Jede flow.variable kann so übergeben werden:

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

Wenn die optionalen Felder nicht angegeben sind, werden die Werte gemäß der OAuth 2.0 Spezifikation extrahiert.

Attributwerte werden dynamisch aus der angegebenen Ablaufvariablen oder statisch mit einem Standardwert in der Richtlinie abgeleitet.

Wenn beide angegeben sind, hat die Ablaufvariable Vorrang.

Richtlinie zum Generieren des Zugriffstokens für den impliziten Berechtigungstyp
Variablen, die bei Erfolg festgelegt werden:
  • 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

Jede flow.variable kann so übergeben werden:

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

Wenn die optionalen Felder nicht angegeben sind, werden die Werte gemäß der OAuth 2.0 Spezifikation extrahiert.

Attributwerte werden dynamisch aus der angegebenen Ablaufvariablen oder statisch mit einem Standardwert in der Richtlinie abgeleitet.

Wenn beide angegeben sind, hat die Ablaufvariable Vorrang.

Richtlinie zum Aktualisieren des Zugriffstokens
Variablen, die bei Erfolg festgelegt werden:
  • 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

Jede flow.variable kann so übergeben werden:

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

Wenn die optionalen Felder nicht angegeben sind, werden die Werte gemäß der OAuth 2.0 Spezifikation extrahiert.

Richtlinie zum Abrufen von Clientattributen

Beispielrichtlinie:

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

Beispielrichtlinie:

<GetOAuthV2Info name="GetClientAttributes">
  <ClientId>{client_id}</ClientId>
</GetOAuthV2Info>
Richtlinie zum Abrufen von Zugriffstokenattributen
Variablen, die bei Erfolg festgelegt werden:
  • 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 zum Abrufen von Autorisierungscodeattributen

Beispielrichtlinie:

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

Beispielrichtlinie:

<GetOAuthV2Info name="GetAuthCodeAttributes">
    <AuthorizationCode>{authorization_code}</AuthorizationCode>
</GetOAuthV2Info>
Richtlinie zum Abrufen von Aktualisierungstokenattributen

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 zum Generieren des Anfragetokens

Beispielrichtlinie:

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

Variablen, die bei Erfolg festgelegt werden:

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

Richtlinie zum Generieren des Zugriffstokens

Beispielrichtlinie:

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

Variablen, die bei Erfolg festgelegt werden:

  • oauth_token
  • oauth_token_secret
  • oauth_response
  • oauth_consumer_key
  • oauth_consumer_secret

Richtlinie zum Prüfen des Zugriffstokens

Beispielrichtlinie:

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

Variablen, die bei Erfolg festgelegt werden:

  • oauth_token
  • oauth_token_secret
  • oauth_response
  • oauth_consumer_key
  • oauth_consumer_secret

Richtlinie zum Prüfen des API-Schlüssels

Beispielrichtlinie:

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

* Optional

Variablen, die bei Erfolg festgelegt werden:

  • oauth_consumer_key
  • oauth_consumer_secret

Richtlinie zum Prüfen des Nutzers

Beispielrichtlinie:

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

* Optional

Variablen, die bei Erfolg festgelegt werden:

  • oauth_consumer_key
  • oauth_consumer_secret

Richtlinie zum Prüfen des Tokens

Beispielrichtlinie:

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

* Optional

Variablen, die bei Erfolg festgelegt werden:

  • oauth_token
  • oauth_token_secret