APIs mit der Edge API veröffentlichen

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

In diesem Abschnitt wird beschrieben, wie Sie mit der Edge API API-Produkte zur Veröffentlichung in Entwicklerportalen erstellen.

API-Produkte mit der API erstellen

Mithilfe von API-Produkten können Entwickler Anwendungen registrieren, die APIs mithilfe von API-Schlüsseln und OAuth-Zugriffstokens nutzen. API-Produkte sind so konzipiert, dass Sie "API-Ressourcen" bündeln und diese Sets dann in verschiedenen Entwicklergruppen veröffentlichen können. Möglicherweise müssen Sie eine Reihe von API-Ressourcen für Ihre Partnerentwickler veröffentlichen, während Sie ein weiteres Set für externe Entwickler veröffentlichen. Mit API-Produkten können Sie diese Gruppierung im laufenden Betrieb durchführen, ohne Änderungen an Ihren APIs selbst vornehmen zu müssen. Ein weiterer Vorteil ist, dass der Entwicklerzugriff "aktualisiert" und "heruntergestuft" werden kann, ohne dass Entwickler neue Consumer-Keys für ihre Apps anfordern müssen.

Senden Sie eine POST-Anfrage an /organizations/{org_name}/apiproducts, um ein API-Produkt mithilfe der API zu erstellen. Weitere Informationen finden Sie in der API-Referenz API-Produkt erstellen.

Die folgende Anfrage erstellt ein API-Produkt namens weather_free. Das API-Produkt bietet Zugriff auf alle APIs, die vom API-Proxy weatherapi und in der test-Umgebung bereitgestellt werden. Der Genehmigungstyp ist auf auto gesetzt, was darauf hinweist, dass jede Zugriffsanfrage genehmigt wird.

curl -X POST https://api.enterprise.apigee.com/v1/organization/myorg/apiproducts \
-H "Content-Type:application/json" \
-d \
'{
  "approvalType": "auto",
  "displayName": "Free API Product",
  "name": "weather_free",
  "proxies": [ "weatherapi" ],
  "environments": [ "test" ]
}' \
-u email:password 

Beispielantwort:

{
  "apiResources" : [ ],
  "approvalType" : "auto",
  "attributes" : [ ],
  "createdAt" : 1362759663145,
  "createdBy" : "developer@apigee.com",
  "displayName" : "Free API Product",
  "environments" : [ "test" ],
  "lastModifiedAt" : 1362759663145,
  "lastModifiedBy" : "developer@apigee.com",
  "name" : "weather_free",
  "proxies" : [ "weatherapi" ],
  "scopes" : [ ]
}

Das oben erstellte API-Produkt implementiert das einfachste Szenario, mit dem Anfragen an einen API-Proxy in einer Umgebung autorisiert werden. Es definiert ein API-Produkt, das es einer autorisierten Anwendung ermöglicht, auf alle API-Ressourcen zuzugreifen, auf die über den API-Proxy in der Testumgebung zugegriffen wird. API-Produkte bieten zusätzliche Konfigurationseinstellungen, mit denen Sie die Zugriffssteuerung für Ihre APIs für verschiedene Entwicklergruppen anpassen können. Sie können beispielsweise zwei API-Produkte erstellen, die Zugriff auf verschiedene API-Proxys ermöglichen. Sie können auch zwei API-Produkte erstellen, die Zugriff auf dieselben API-Proxys bieten, jedoch mit unterschiedlichen verknüpften Kontingenteinstellungen.

API-Produktkonfigurationseinstellungen

API-Produkte stellen die folgenden Konfigurationsoptionen bereit:

Name Beschreibung Standard Erforderlich?
apiResources

Eine durch Kommas getrennte Liste von URIs oder Ressourcenpfaden, die im API-Produkt gebündelt sind.

Standardmäßig werden die Ressourcenpfade aus der Variablen proxy.pathsuffix zugeordnet. Das Proxy-Pfadsuffix wird als URI-Fragment nach dem ProxyEndpoint-Basispfad definiert. Im Beispiel-API-Produkt unten ist das Element apiResources beispielsweise als /forecastrss definiert. Da der für diesen API-Proxy definierte Basispfad /weather ist, sind von diesem API-Produkt nur Anfragen an /weather/forecastrss zulässig.

Sie können einen bestimmten Pfad oder alle untergeordneten Pfade mit einem Platzhalter auswählen. Platzhalter (/** und /*) werden unterstützt. Der doppelte Sternchen gibt an, dass alle Sub-URIs enthalten sind. Ein einzelnes Sternchen gibt an, dass nur URIs eine Ebene nach unten einbezogen sind.

Standardmäßig unterstützt '/' dieselben Ressourcen wie "/**" sowie den von der API definierten Basispfad Proxy. Wenn der Basispfad des API-Proxys beispielsweise /v1/weatherapikey lautet, unterstützt das API-Produkt Anfragen an /v1/weatherapikey und alle Sub-URIs wie /v1/weatherapikey/forecastrss, /v1/weatherapikey/region/CA usw. Informationen zum Ändern des Verhaltens dieser Standardeinstellung finden Sie unter API-Produkte verwalten.

Nein
approvalType Gibt an, wie API-Schlüssel für den Zugriff auf die vom API-Produkt definierten APIs zugelassen sind. Wenn manual festgelegt ist, wird der für die Anwendung generierte Schlüssel im Status "Ausstehend" angezeigt. Diese Schlüssel funktionieren erst, wenn sie explizit genehmigt wurden. Wenn dieser Wert auf auto gesetzt ist, werden alle Schlüssel in der Liste "Genehmigt" generiert und funktionieren sofort. auto wird in der Regel verwendet, um Zugriff auf kostenlose/Test-API-Produkte zu gewähren, die ein begrenztes Kontingent oder Berechtigungen bieten. Ja
attributes

Array von Attributen, mit denen das Standard-API-Produktprofil mit kundenspezifischen Metadaten erweitert werden kann.

Verwenden Sie diese Eigenschaft, um die Zugriffsebene des API-Produkts als öffentlich, privat oder intern anzugeben. Beispiel:
„attributes“: [
{
"name": "Zugriff",
"value": "public"
},
{
"name": "foo",
"value": "foo"
},
{
"name": "bar",
"value": "bar"
}
]
Nein
scopes Eine durch Komma getrennte Liste von OAuth-Bereichen, die während der Laufzeit validiert werden. (Apigee Edge validiert, dass die Bereiche in jedem angegebenen Zugriffstoken mit dem im API-Produkt festgelegten Bereich übereinstimmen.) Nein
proxies Benannte API-Proxys, an die dieses API-Produkt gebunden ist. Durch Angabe von Proxys können Sie Ressourcen im API-Produkt mit bestimmten API-Proxys verknüpfen, sodass Entwickler nicht über andere API-Proxys auf diese Ressourcen zugreifen können. Nein. Wenn sie nicht definiert ist, muss apiResources explizit definiert werden (siehe Informationen zu apiResources oben) und die in der AssignMessage-Richtlinie festgelegte Variable flow.resource.name.
environments Benannte Umgebungen (z. B. "test" oder "prod"), an die dieses API-Produkt gebunden ist. Durch Angabe einer oder mehrerer Umgebungen können Sie die im API-Produkt aufgeführten Ressourcen an eine bestimmte Umgebung binden und verhindern, dass der Entwickler auf diese Ressourcen über API-Proxys in einer anderen Umgebung zugreift. Diese Einstellung wird beispielsweise verwendet, um zu verhindern, dass auf API-Proxys, die mit API-Proxys in "prod" verknüpft sind, auf API-Proxys zugegriffen werden kann. Nein. Wenn keine Angabe gemacht wird, muss apiResources explizit definiert und die Variable flow.resource.name in der Richtlinie "AssignMessage" festgelegt werden.
quota Anzahl der Anfragen, die pro Anwendung im angegebenen Zeitintervall zulässig sind. Nein
quotaInterval Anzahl der Zeiteinheiten, für die Kontingente ausgewertet werden Nein
quotaTimeUnit Die Zeiteinheit (Minute, Stunde, Tag oder Monat), für die Kontingente gezählt werden. Nein

Im Folgenden finden Sie ein ausführlicheres Beispiel für das Erstellen eines API-Produkts.

curl -X POST  https://api.enterprise.apigee.com/v1/o/{org_name}/apiproducts \
-H "Content-Type:application/json" -d \
'{
  "apiResources": [ "/forecastrss" ],
  "approvalType": "auto", 
  "attributes":
    [ {"name": "access", "value": "public"} ],
  "description": "Free API Product",
  "displayName": "Free API Product",
  "name": "weather_free",
  "scopes": [],
  "proxies": [ "weatherapi" ],
  "environments": [ "test" ],
  "quota": "10",
  "quotaInterval": "2",
  "quotaTimeUnit": "hour" }' \
-u email:password

Beispielantwort:

{
  "apiResources" : [ "/forecastrss" ],
  "approvalType" : "auto",
  "attributes" : [ {
    "name" : "access",
    "value" : "public"
  },
  "createdAt" : 1344454200828,
  "createdBy" : "admin@apigee.com",
  "description" : "Free API Product",
  "displayName" : "Free API Product",
  "lastModifiedAt" : 1344454200828,
  "lastModifiedBy" : "admin@apigee.com",
  "name" : "weather_free",
  "scopes" : [ ],
  "proxies": [ {'weatherapi'} ],
  "environments": [ {'test'} ],
  "quota": "10",
  "quotaInterval": "1",
  "quotaTimeUnit": "hour"}'
}

Über Umfänge

Ein Umfang ist ein von OAuth zusammengestelltes Konzept, das ungefähr dem Konzept einer "Berechtigung" entspricht. In Apigee Edge sind Bereiche vollständig optional. Mithilfe von Bereichen können Sie eine detailliertere Autorisierung durchführen. Jeder für eine App ausgestellte Nutzerschlüssel wird einem "Masterbereich" zugeordnet. Der Master-Umfang ist der Satz aller Umfänge in allen API-Produkten, für die die Anwendung genehmigt wurde. Bei Anwendungen, die für die Verwendung mehrerer API-Produkte genehmigt wurden, ist der Master-Umfang die Vereinigung aller Umfänge, die in den API-Produkten definiert sind, für die der Consumer-Key genehmigt wurde.

API-Produkte anzeigen

In den folgenden Abschnitten finden Sie Informationen zu den API-Produkten, die mithilfe der API für eine Organisation erstellt wurden:

Das folgende Beispiel zeigt, wie API-Produkte mit der API angezeigt werden:

curl -X GET "https://ext.apiexchange.org/v1/mint/organizations/{org_name}/products?monetized=true" \
  -H "Accept:application/json" \
  -u email:password

Die Antwort sollte in etwa so aussehen (nur ein Teil der Antwort wird angezeigt):

{
  "product" : [ {
    "customAtt1Name" : "user",
    "customAtt2Name" : "response size",
    "customAtt3Name" : "content-length",
    "description" : "payment api product",
    "displayName" : "payment",
    "id" : "payment",
    "name" : "payment",
    "organization" : {
      ...
    },
    "pricePoints" : [ ],
    "status" : "CREATED",
    "transactionSuccessCriteria" : "status == 'SUCCESS'"
  }, {
    "customAtt1Name" : "user",
    "customAtt2Name" : "response size",
    "customAtt3Name" : "content-length",
    "description" : "messaging api product",
    "displayName" : "messaging",
    "id" : "messaging",
    "name" : "messaging",
    "organization" : ...
    },
    "pricePoints" : [ ],
    "status" : "CREATED",
    "transactionSuccessCriteria" : "status == 'SUCCESS'"
  } ],
  "totalRecords" : 2
}

Entwickler mit der API registrieren

Alle Apps gehören entweder Entwicklern oder Unternehmen. Wenn Sie eine Anwendung erstellen möchten, müssen Sie zuerst einen Entwickler oder ein Unternehmen registrieren.

Entwickler werden in einer Organisation durch Erstellen eines Profils registriert. Beachten Sie, dass die im Profil enthaltene Entwickler-E-Mail-Adresse in Apigee Edge als eindeutiger Schlüssel für den Entwickler verwendet wird.

Um die Monetarisierung zu unterstützen, musst du beim Erstellen oder Bearbeiten von Entwicklern die Monetarisierungsattribute definieren. Sie können auch andere beliebige Attribute für benutzerdefinierte Analysen, die Erzwingung von benutzerdefinierten Richtlinien usw. definieren. Diese beliebigen Attribute werden nicht von Apigee Edge interpretiert.

Mit der folgenden Anfrage wird beispielsweise ein Profil für einen Entwickler mit der E-Mail-Adresse ntesla@theremin.com registriert. Außerdem wird eine Teilmenge der Monetarisierungsattribute mithilfe der Create developer API definiert:

$ curl -H "Content-type:application/json" -X POST -d \
'{"email" : "ntesla@theremin.com", 
  "firstName" : "Nikola", 
  "lastName" : "Tesla", 
  "userName" : "theremin", 
  "attributes" : [ 
  { 
    "name" : "project_type", 
    "value" : "public"
  },
  {    
   "name": "MINT_BILLING_TYPE",
   "value": "POSTPAID"
  },
  {
   "name": "MINT_DEVELOPER_ADDRESS",
   "value": "{\"address1\":\"Dev One Address\",\"city\":\"Pleasanton\",\"country\":\"US\",\"isPrimary\":true,\"state\":\"CA\",\"zip\":\"94588\"}"
  },
  {
   "name": "MINT_DEVELOPER_TYPE",
   "value": "TRUSTED"
  },
  {    
   "name": "MINT_HAS_SELF_BILLING,
   "value": "FALSE"
  },
  {
   "name" : "MINT_SUPPORTED_CURRENCY",
   "value" : "usd"
  }
 ] 
}' \
https://api.enterprise.apigee.com/v1/o/{org_name}/developers \
-u email:password 

Beispielantwort

{
          "email" : "ntesla@theremin.com",
          "firstName" : "Nikola",
          "lastName" : "Tesla",
          "userName" : "theremin",
          "organizationName" : "{org_name}",
          "status" : "active",
          "attributes" : [ 
          {
            "name" : "project_type",
            "value" : "public"
          },
          {    
             "name": "MINT_BILLING_TYPE",
             "value": "POSTPAID"
          },
          {
             "name": "MINT_DEVELOPER_ADDRESS",
             "value": "{\"address1\":\"Dev One Address\",\"city\":\"Pleasanton\",\"country\":\"US\",\"isPrimary\":true,\"state\":\"CA\",\"zip\":\"94588\"}"
          },
          {
             "name": "MINT_DEVELOPER_TYPE",
             "value": "TRUSTED"
          },
          {    
             "name": "MINT_HAS_SELF_BILLING,
             "value": "FALSE"
          },
          {
             "name" : "MINT_SUPPORTED_CURRENCY",
             "value" : "usd"
          } 
          ],
          "createdAt" : 1343189787717,
          "createdBy" : "admin@apigee.com",
          "lastModifiedAt" : 1343189787717,
          "lastModifiedBy" : "admin@apigee.com"
        }

Entwickler-Apps mithilfe der API registrieren

Jede auf Apigee Edge registrierte App ist mit einem Entwickler und einem API-Produkt verknüpft. Wenn eine Anwendung im Namen eines Entwicklers registriert wird, generiert Apigee Edge ein "Anmeldedaten" (ein Paar aus Consumer-Key und -Secret), das die Anwendung identifiziert. Die Anwendung muss diese Anmeldeinformationen dann als Teil jeder Anforderung an ein mit der Anwendung verknüpftes API-Produkt weitergeben.

In der folgenden Anfrage wird die Create Developer App API verwendet, um eine App für den oben erstellten Entwickler zu registrieren: ntesla@theremin.com. Beim Registrieren einer App definierst du einen Namen für die App, eine callbackUrl und eine Liste mit mindestens einem API-Produkt:
$ curl -H "Content-type:application/json" -X POST -d \
'{
  "apiProducts": [ "weather_free"], 
  "callbackUrl" : "login.weatherapp.com", 
  "keyExpiresIn" : "2630000000",
  "name" : "weatherapp"}' \
https://api.enterprise.apigee.com/v1/o/{org_name}/developers/ntesla@theremin.com/apps \
-u email:password 

Die callbackUrl wird von einigen OAuth-Berechtigungstypen (z. B. Autorisierungscode) verwendet, um Weiterleitungsanfragen von der Anwendung zu überprüfen. Wenn Sie OAuth verwenden, muss für diesen Wert derselbe Wert wie für redirect_uri festgelegt werden, der für OAuth-Anfragen verwendet wird.

Das keyExpiresIn-Attribut gibt in Millisekunden die Lebensdauer des Consumer-Keys an, der für die Entwickler-App generiert wird. Der Standardwert -1 gibt einen unendlichen Gültigkeitszeitraum an.

Beispielantwort

{
  "appId": "5760d130-528f-4388-8c6f-65a6b3042bd1",
  "attributes": [
    {
      "name": "DisplayName",
      "value": "Test Key Expires"
    },
    {
      "name": "Notes",
      "value": "Just testing this attribute"
    }
  ],
  "createdAt": 1421770824390,
  "createdBy": "wwitman@apigee.com",
  "credentials": [
    {
      "apiProducts": [
        {
          "apiproduct": "ProductNoResources",
          "status": "approved"
        }
      ],
      "attributes": [],
      "consumerKey": "jcAFDcfwImkJ19A5gTsZRzfBItlqohBt",
      "consumerSecret": "AX7lGGIRJs6s8J8y",
      "expiresAt": 1424400824401,
      "issuedAt": 1421770824401,
      "scopes": [],
      "status": "approved"
    }
  ],
  "developerId": "e4Oy8ddTo3p1BFhs",
  "lastModifiedAt": 1421770824390,
  "lastModifiedBy": "wwitman@apigee.com",
  "name": "TestKeyExpires",
  "scopes": [],
  "status": "approved"
}

Consumer-Key für Anwendungen mit der API verwalten

Rufen Sie den Consumer-Key (den API-Schlüssel) für die Anwendung ab.

Die Anmeldedaten für eine Anwendung (API-Produkt, Consumer-Key und -Secret) werden als Teil des App-Profils zurückgegeben. Ein Administrator einer Organisation kann den Consumer-Schlüssel jederzeit abrufen.

Das App-Profil zeigt den Wert des Consumer-Schlüssels und das Secret, den Status des Consumer-Schlüssels und alle API-Produktverknüpfungen für den Schlüssel an. Als Administrator können Sie das Profil des Nutzerschlüssels jederzeit mithilfe der Schlüsseldetails für eine Entwickler-App-API abrufen:

$ curl -X GET -H "Accept: application/json" \
https://api.enterprise.apigee.com/v1/o/{org_name}/developers/ntesla@theremin.com/apps/weatherapp/keys/HQg0nCZ54adKobpqEJaE8FefGkdKFc2J \
-u email:password

Beispielantwort:

{
  "apiProducts" : [ {
    "apiproduct" : "weather_free",
    "status" : "approved"
  } ],
  "attributes" : [ ],
  "consumerKey" : "HQg0nCZ54adKobpqEJaE8FefGkdKFc2J",
  "consumerSecret" : "1eluIIdWG3JGDjE0",
  "status" : "approved"
}

Weitere Informationen finden Sie unter Schlüsseldetails für eine Entwickler-App abrufen.

API-Produkt zu einer Anwendung und einem Schlüssel hinzufügen

Wenn Sie eine App aktualisieren möchten, um ein neues API-Produkt hinzuzufügen, fügen Sie das API-Produkt mithilfe von API-Produkt zur Schlüssel-API hinzufügen zum App-Schlüssel hinzu. Weitere Informationen finden Sie unter API-Produkt zum Schlüssel hinzufügen.

Durch das Hinzufügen eines API-Produkts zu einem App-Schlüssel kann die App, die den Schlüssel enthält, auf die im API-Produkt gebündelten API-Ressourcen zugreifen. Mit dem folgenden Methodenaufruf wird einer Anwendung ein neues API-Produkt hinzugefügt:

$ curl -H "Content-type:application/json" -X POST -d \
'{
  "apiProducts": [ "newAPIProduct"]
}' \
https://api.enterprise.apigee.com/v1/o/{org_name}/developers/ntesla@theremin.com/apps/weatherapp/keys/HQg0nCZ54adKobpqEJaE8FefGkdKFc2J \
-u email:password 

Beispielantwort:

{
  "apiProducts": [
   {
     "apiproduct": "weather_free",
     "status": "approved"
   },
   {
     "apiproduct": "newAPIProduct",
     "status": "approved"
   }
 ],
 "attributes": [],
 "consumerKey": "HQg0nCZ54adKobpqEJaE8FefGkdKFc2J",
 "consumerSecret": "1eluIIdWG3JGDjE0",
 "expiresAt": -1,
 "issuedAt": 1411491156464,
 "scopes": [],
 "status": "approved"
 }

Consumer-Key genehmigen

Wenn Sie den Genehmigungstyp auf manuell setzen, können Sie steuern, welche Entwickler auf die Ressourcen zugreifen können, die durch API-Produkte geschützt sind. Wenn für API-Produkte die Schlüsselgenehmigung auf manual gesetzt ist, müssen Nutzerschlüssel explizit genehmigt werden. Schlüssel können explizit mit der API Approve Special Key of Developer App genehmigen oder widerrufen werden:

$ curl -X POST -H "Content-type:appilcation/octet-stream" \ 
https://api.enterprise.apigee.com/v1/o/{org_name}/developers/ntesla@theremin.com/apps/weatherapp/keys/HQg0nCZ54adKobpqEJaE8FefGkdKFc2J?"action=approve" \
-u email:password

Beispielantwort:

{
  "apiProducts" : [ {
  "apiproduct" : "weather_free",
  "status" : "approved"
} ],
  "attributes" : [ ],
  "consumerKey" : "HQg0nCZ54adKobpqEJaE8FefGkdKFc2J",
  "consumerSecret" : "1eluIIdWG3JGDjE0",
  "status" : "approved"
}

Weitere Informationen finden Sie unter Bestimmten Schlüssel der Entwickler-App genehmigen oder widerrufen.

API-Produkte für Consumer-Keys genehmigen

Die Verknüpfung eines API-Produkts mit einem Consumer-Schlüssel hat ebenfalls einen Status. Damit der API-Zugriff möglich ist, muss der Consumer-Key genehmigt werden und der Consumer-Key muss für das entsprechende API-Produkt genehmigt sein. Die Verknüpfung eines Consumer-Key mit einem API-Produkt kann genehmigt werden. Verwenden Sie dazu das API-Produkt API-Produkt für einen Schlüssel für eine Entwickler-App genehmigen oder aufheben:

$ curl -X POST -H "Content-type:application/octet-stream" \ 
https://api.enterprise.apigee.com/v1/o/{org_name}/developers/ntesla@theremin.com/apps/weatherapp/keys/HQg0nCZ54adKobpqEJaE8FefGkdKFc2J/apiproducts/weather_free?"action=approve" \
-u email:password

Dieser cURL-Befehl gibt keine Antwort zurück. Weitere Informationen finden Sie unter API-Produkt für einen Schlüssel für eine Entwickler-App genehmigen oder widerrufen.

API-Produkte für Consumer-Keys widerrufen

Es gibt viele Gründe, warum Sie die Verknüpfung eines Nutzerschlüssels mit einem API-Produkt widerrufen müssen. Möglicherweise müssen Sie ein API-Produkt aus einem Consumer-Schlüssel entfernen, da der Entwickler nicht bezahlt hat, ein abgelaufener Testzeitraum abgelaufen ist oder eine Anwendung von einem API-Produkt in ein anderes hochgestuft wird.

Wenn Sie die Verknüpfung eines Consumer-Schlüssels mit einem API-Produkt widerrufen möchten, verwenden Sie die API Bestimmten Schlüssel der Developer App genehmigen oder widerrufen . Verwenden Sie dazu die Aktion Widerrufen für den Consumer-Schlüssel der Entwicklungsanwendung:

$ curl -X POST -H "Content-type:application/octet-stream" \ 
https://api.enterprise.apigee.com/v1/o/{org_name}/developers/ntesla@theremin.com/apps/weatherapp/keys/HQg0nCZ54adKobpqEJaE8FefGkdKFc2J/apiproducts/weather_free?"action=revoke" \
-u email:password

Dieser cURL-Befehl gibt keine Antwort zurück. Weitere Informationen finden Sie unter Bestimmten Schlüssel der Entwickler-App genehmigen oder widerrufen.

API-Produkteinstellungen durchsetzen

Damit API-Produkte erzwungen werden können, muss einer der folgenden Richtlinientypen an den API-Proxy-Flow angehängt werden:

  • VerifyAPIKey: Verweist auf einen API-Schlüssel, überprüft, ob er eine gültige Anwendung darstellt, und stimmt mit dem API-Produkt überein. Siehe API-Schlüsselrichtlinie überprüfen für weitere Informationen.
  • OAuthV1, Vorgang "VerifyAccessToken": Überprüft die Signatur, validiert ein OAuth 1.0a-Zugriffstoken und einen Consumer-Key und ordnet die Anwendung dem API-Produkt zu. Weitere Informationen finden Sie unter OAuth v1.0a-Richtlinie.
  • OAuthV2, "VerifyAccessToken"-Vorgang: Überprüfen, ob das OAuth 2.0-Zugriffstoken gültig ist, das Token mit der App übereinstimmt, prüft, ob die App gültig ist, und ordnet dann die App einem API-Produkt zu. Weitere Informationen finden Sie unter OAuth-Startseite.

Sobald Richtlinien und API-Produkte konfiguriert sind, wird der folgende Prozess von Apigee Edge ausgeführt:

  1. Eine Anfrage wird von Apigee Edge empfangen und an den entsprechenden API-Proxy weitergeleitet.
  2. Über eine Richtlinie wird der vom Client bereitgestellte API-Schlüssel oder das OAuth-Zugriffstoken geprüft.
  3. Edge löst den API-Schlüssel oder das Zugriffstoken in ein Anwendungsprofil auf.
  4. Edge löst die Liste (falls vorhanden) der mit der App verknüpften API-Produkte auf.
  5. Das erste übereinstimmende API-Produkt wird verwendet, um Kontingentvariablen darzustellen.
  6. Wenn kein API-Produkt mit dem API-Schlüssel oder Zugriffstoken übereinstimmt, wird die Anfrage abgelehnt.
  7. Edge erzwingt eine URI-basierte Zugriffssteuerung (Umgebung, API-Proxy und URI-Pfad) anhand der API-Produkteinstellungen zusammen mit Kontingenteinstellungen.