Die Basisauthentifizierung ist eine Möglichkeit, sich bei Aufrufen der Edge-Verwaltungs-API zu authentifizieren.
Sie können beispielsweise die folgende curl Anfrage an die Edge-Verwaltungs-API senden, um auf
Informationen zu Ihrer Organisation zuzugreifen:
curl -u USER_NAME:PASSWORD http://MS_IP_DNS:8080/v1/organizations/ORG_NAME
In diesem Beispiel verwenden Sie die Option curl -u, um Anmeldedaten für die Basisauthentifizierung
zu übergeben. Alternativ können Sie ein OIDC-/OAuth2-Token im Authorization: Bearer Header übergeben, um
Aufrufe der Edge-Verwaltungs-API auszuführen, wie im folgenden Beispiel gezeigt:
curl -H "Authorization: Bearer ACCESS_TOKEN" http://MS_IP_DNS:8080/v1/organizations/ORG_NAME
Nachdem Sie einen externen IDP für die Authentifizierung aktiviert haben, können Sie die Basis
authentifizierung optional deaktivieren. Wenn Sie die Basisauthentifizierung deaktivieren, funktionieren alle Skripts (z. B. Maven, Shell und apigeetool), die
auf Aufrufen der Edge-Verwaltungs-API basieren, die die Basisauthentifizierung unterstützen, nicht mehr. Sie müssen alle API-Aufrufe und Skripts, die die Basisauthentifizierung verwenden, aktualisieren, um OAuth2-Zugriffstokens im Bearer Header zu übergeben.
Tokens mit get_token abrufen und aktualisieren
Das Dienstprogramm get_token verwendet den standardmäßigen OAuth 2.0-Gerätecodevorgang, um OIDC-/OAuth2-Zugriffs- und Aktualisierungstokens zu erhalten. Das Dienstprogramm fordert Sie auf, eine URL in Ihrem Browser aufzurufen, um sich über Ihren externen IDP (oder lokalen LDAP) zu authentifizieren. Anschließend wird Ihr Terminal automatisch entsperrt, um das gültige Zugriffstoken auszugeben.
Das Dienstprogramm get_token speichert die Tokens sicher auf der Festplatte in ~/.sso-cli/, damit sie bei Bedarf verwendet werden können. Außerdem wird ein gültiges Zugriffstoken in stdout ausgegeben. Wenn ein vorhandenes Token aktualisiert werden kann, wird es automatisch aktualisiert. Wenn das Aktualisierungstoken abläuft, wird ein neuer browserbasierter Autorisierungsvorgang gestartet.
So rufen Sie ein OAuth2-Zugriffstoken ab, um Aufrufe der Edge-Verwaltungs-API auszuführen :
- Die
get_tokenundacurlDienstprogramme sind auf dem Knoten vorinstalliert, auf dem sich Apigee SSO befindet (OpenLDAP-Knoten):/opt/apigee/apigee-openldap/bin/ - (Optional) Legen Sie die Umgebungsvariable
SSO_LOGIN_URLauf die SSO-Aussteller-URL fest, und zwar im folgenden Format:export SSO_LOGIN_URL="http://EDGE_SSO_IP_DNS:9099"
Dabei ist EDGE_SSO_IP_DNS die IP-Adresse oder der DNS-Name des Computers, auf dem Apigee SSO gehostet wird. Wenn Sie TLS für Apigee SSO konfiguriert haben, verwenden Sie
httpsund die richtige TLS-Portnummer. - Rufen Sie
get_tokenmit Ihrer E‑Mail-Adresse auf, um den OAuth 2.0-Gerätecodevorgang zu starten:/opt/apigee/apigee-openldap/bin/get_token -u EMAIL_ADDRESS
Dabei ist EMAIL_ADDRESS die E‑Mail-Adresse eines Edge-Nutzers.
- Das Dienstprogramm wird pausiert und gibt eine URL und einen 8-stelligen Gerätecode in Ihrem Terminal aus:
Please visit: http://EDGE_SSO_IP_DNS:9099/device And enter code: ABCD-EFGH
- Öffnen Sie die angegebene URL in Ihrem Browser, geben Sie den Gerätecode ein und klicken Sie auf Senden. Sie werden zu Ihrem externen IDP (oder lokalen LDAP-Formular) weitergeleitet, um sich zu authentifizieren und die Anfrage zu genehmigen.
- Nachdem Sie sich im Browser authentifiziert haben, kehren Sie zu Ihrem Terminal zurück. Das Dienstprogramm
get_tokenerkennt die Genehmigung automatisch, ruft das OAuth2-Zugriffstoken ab, gibt es auf dem Bildschirm aus und speichert es sicher im Cache. - Übergeben Sie das Zugriffstoken an einen Aufruf der Edge-Verwaltungs-API mit dem Dienstprogramm
acurl, das das im Cache gespeicherte Token automatisch liest und den Bearer-Header einfügt:/opt/apigee/apigee-openldap/bin/acurl http://MS_IP_DNS:8080/v1/organizations/ORG_NAME
Alternativ können Sie das Token manuell mit dem Standardbefehl
curlübergeben:curl -H "Authorization: Bearer ACCESS_TOKEN" \ http://MS_IP_DNS:8080/v1/organizations/ORG_NAME
Tokens mit der Verwaltungs-API abrufen und Aktualisierungstoken
Der Legacy-Endpunkt /passcode wurde entfernt. Daher müssen menschliche Nutzer das Dienstprogramm get_token wie oben beschrieben verwenden, um den browserbasierten OAuth 2.0-Gerätecodevorgang für die Erstauthentifizierung zu starten.
Wenn Sie Skripts oder CI/CD-Pipelines schreiben, die nicht mit einem Browser interagieren können, lesen Sie Aufgaben mit Maschinenbenutzern automatisieren. Automatisierte Maschinenbenutzer oder Anwendungen mit gültigen Anmeldedaten können Standard-API-Aufrufe verwenden, um Tokens abzurufen und zu aktualisieren.