OAuth-Benutzerszenario
Potenzielle Nutzer von OAuth mit IBM® API Connect haben verschiedene Möglichkeiten, ihre API zu sichern. Das folgende Szenario bietet eine Übersicht über die verfügbaren Optionen.
Szenario - Übersicht
In diesem Szenario ist Alice die Benutzerin einer Anwendung. Alice kann einer Anwendung die Berechtigung für den Zugriff auf bestimmte Informationen über sich in einem Drittsystem erteilen, das OAuth verwendet. Abhängig vom OAuth-Typ, den der Zielservice unterstützt, gibt Alice ihren Benutzernamen und das Kennwort nicht in die Anwendung ein. Stattdessen erhält die Anwendung ein Zugriffstoken, das die Berechtigungsnachweise von Alice (Benutzername und Kennwort) darstellt. Die Anwendung kann nun auf die Informationen über Alice im Zielsystem zugreifen.
Beispiel: Alice führt eine Liste mit Büchern, die sie liest, in einem Service, der von mybooks.com bereitgestellt wird. Nachdem sie sich ein Smart Phone gekauft hat, installiert Alice eine Anwendung auf dem neuen Telefon, die Details zu den Büchern anzeigt. Die Telefonanwendung möchte eine von mybooks.com bereitgestellte API aufrufen, die auf die Informationen zugreifen kann. Die mybooks.com-API ist durch die Verwendung des OAuth-Protokolls gesichert.
- Die Anwendung muss zuerst die Berechtigung von Alice anfordern.
- Die Anwendung ruft dann mithilfe dieser Berechtigung den Zielservice auf und ruft die Liste mit Büchern ab.
Im ersten Schritt verweist die Anwendung Alice normalerweise an den Provider des Zielservice, mybooks.com. Alice gibt ihren Benutzernamen und das Kennwort an und erteilt der Anwendung die Berechtigung für den Zugriff auf ihre Informationen. Es ist wichtig, dass Alice darauf vertrauen kann, dass sie ihre Berechtigungsnachweise tatsächlich dem Provider des Zielservice zur Verfügung stellt und nicht einer nicht vertrauenswürdigen Proxyanwendung. Dies kann sie zum Beispiel sicherstellen, indem sie sich vergewissert, dass das Sicherheitszertifikat der Website, auf der sie ihre Berechtigungsnachweise eingibt, mit dem übereinstimmt, das sie vom Provider des Zielservice erwartet.
Das Ergebnis dieses Schritts ist das Zugriffstoken, das die Anwendung zum Aufrufen der API verwenden kann. Die Anwendung generiert dann die korrekt formatierte OAuth-Anforderung. Diese enthält zum Beispiel den Berechtigungsheader bzw. die HTTP-Abfrageparameter mit dem Zugriffstoken, dem Konsumentenschlüssel und der Signaturmethode, die für OAuth erforderlich sind. Diese OAuth-Anforderung wird dazu verwendet, die API-Proxyoperation aufzurufen.
Szenario in API Connect
- Alice erteilt der Anwendung die Berechtigung für den Zugriff auf ihre Informationen vor dem Aufruf der API.
- Wenn die Anwendung den Berechtigungsheader bzw. die Abfrageparameter mit den OAuth-Details zum Aufruf an den Operationsendpunkt übergibt, wird der Header automatisch ohne zusätzliche Konfigurationsschritte an den Zielservice weitergeleitet.