Edge for Private Cloud Version 4.17.09
Basic Auth ist eine Möglichkeit zur Authentifizierung, wenn Aufrufe an die Edge-Verwaltungs-API gesendet werden. Sie können beispielsweise die folgende cURL-Anfrage an die Edge Management API senden, um auf Informationen über Ihre Organisation zuzugreifen:
curl -u userName:pWord https://ms_IP_DNS:8080/v1/organizations/orgName
In diesem Beispiel verwenden Sie die Option cURL -u, um Anmeldedaten für die Basisauthentifizierung zu übergeben. Alternativ können Sie ein OAuth2-Token im Bearer
-Header übergeben, um API-Aufrufe für die Edge-Verwaltung auszuführen. Beispiel:
curl -H "Authorization: Bearer <access_token>" https://ms_IP_DNS:8080/v1/organizations/orgName
Nachdem Sie SAML aktiviert haben, können Sie optional die Basisauthentifizierung deaktivieren. Wenn Sie die Basisauthentifizierung deaktivieren, funktionieren alle Skripts (Maven-Skripts, Shell-Skripts, apigeetool
usw.), die auf Edge-Management-API-Aufrufen basieren, die die Basisauthentifizierung unterstützen, nicht mehr. Sie müssen alle API-Aufrufe und Skripts aktualisieren, die die Basisauthentifizierung verwenden, um OAuth2-Zugriffstokens im Bearer-Header zu übergeben.
Get_token zum Abrufen und Aktualisieren von Tokens verwenden
Das get_token
-Dienstprogramm tauscht Ihre Basic Auth-Anmeldedaten und einen Sicherheitscode gegen ein OAuth2-Zugriffs- und -Aktualisierungstoken aus. Das Dienstprogramm get_token
akzeptiert Ihre Anmeldedaten und gibt ein gültiges Zugriffstoken aus. Wenn ein Token aktualisiert werden kann, wird es aktualisiert und ausgedruckt. Wenn das Aktualisierungstoken abläuft, werden Sie zur Eingabe von Nutzeranmeldedaten aufgefordert.
Das get_token
-Dienstprogramm speichert die Tokens auf dem Laufwerk und kann bei Bedarf verwendet werden. Außerdem wird ein gültiges Zugriffstoken für stdout ausgegeben.
Von dort aus können Sie Postman verwenden oder es zur Verwendung in curl in eine Umgebungsvariable einbetten.
Im folgenden Verfahren wird beschrieben, wie Sie mit get_token
ein OAuth2-Zugriffstoken abrufen, um Edge-Management-API-Aufrufe auszuführen:
- Laden Sie das
sso-cli
-Bundle herunter:curl http://edge_sso_IP_DNS:9099/resources/scripts/sso-cli/ssocli-bundle.zip -o "ssocli-bundle.zip"
Dabei ist edge_sso_IP_DNS die IP-Adresse des DNS-Namens der Maschine, auf der das Edge-SSO-Modul gehostet wird. Wenn Sie TLS on Edge SSO konfiguriert haben, verwenden Sie
https
und die richtige TLS-Portnummer. - Entpacken Sie das Paket
ssocli-bundle.zip
:unzip ssocli-bundle.zip
- Installieren Sie
get_token
in/usr/local/bin
:
./install
Verwenden Sie die Option
-b
, um einen anderen Speicherort anzugeben:./install -b path
- Legen Sie die Umgebungsvariable
SSO_LOGIN_URL
auf Ihre Anmelde-URL im folgenden Format fest:export SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"
.Dabei ist edge_sso_IP_DNS die IP-Adresse des DNS-Namens der Maschine, auf der das Edge-SSO-Modul gehostet wird. Wenn Sie TLS on Edge SSO konfiguriert haben, verwenden Sie
https
und die richtige TLS-Portnummer. - Rufen Sie in einem Browser die folgende URL auf, um einen einmaligen Sicherheitscode zu erhalten:
http://edge_sso_IP_DNS:9099/passcode
Wenn Sie TLS on Edge SSO konfiguriert haben, verwenden Sie
https
und die richtige TLS-Portnummer.Diese URL gibt einen einmaligen Sicherheitscode zurück. Dieser bleibt gültig, bis Sie die URL aktualisieren, um einen neuen Sicherheitscode zu erhalten, oder Sie verwenden den Sicherheitscode mit
get_token
, um ein Zugriffstoken zu generieren. - Rufen Sie
get_token
auf, um das OAuth2-Zugriffstoken abzurufen:
get_token -u emailAddress
Dabei ist emailAddress die E-Mail-Adresse eines Edge-Nutzers. Sie werden aufgefordert, den einmaligen Sicherheitscode aus Schritt 3 einzugeben:
One Time Code ( Get one at https://edge_sso_IP.com/passcode ) Enter the passcode if SAML is enabled or press ENTER:
Geben Sie den Sicherheitscode ein. Das
get_token
-Dienstprogramm ruft das OAuth2-Zugriffstoken ab, gibt es auf dem Bildschirm aus und schreibt es zusammen mit dem Aktualisierungstoken in~/.sso-cli
.Sie können den Sicherheitscode in der Befehlszeile mit einem
get_token
-Befehl im folgenden Format eingeben:get_token -u emailAddress -p passcode
- Übergeben Sie das Zugriffstoken als Bearer-Header an einen Edge-Management-API-Aufruf:
curl -H "Authorization: Bearer access_token" https://ms_IP:8080/v1/organizations/orgName
Nachdem Sie zum ersten Mal ein neues Zugriffstoken abgerufen haben, können Sie es wie unten gezeigt in einem einzigen Befehl abrufen und an einen API-Aufruf übergeben:
header=`get_token` && curl -H "Authorization: Bearer $header" https://ms_IP:8080/v1/o/orgName
Wenn das Zugriffstoken abgelaufen ist, wird es mit dieser Form des Befehls automatisch aktualisiert, bis das Token abläuft.
Nach Ablauf des Aktualisierungstokens werden Sie von get_token
zur Eingabe eines neuen Sicherheitscodes aufgefordert. Sie müssen die in Schritt 3 oben gezeigte URL aufrufen und einen neuen Sicherheitscode generieren, bevor Sie ein neues OAuth-Zugriffstoken generieren können.
Verwaltungs-API zum Abrufen und Aktualisieren von Tokens verwenden
Die Verwendung der OAuth2-Sicherheit mit der Apigee Edge-Verwaltungs-API enthält Anweisungen, die zeigen, wie die Edge-Verwaltungs-API verwendet wird, um Tokens abzurufen und zu aktualisieren. Sie können Edge API-Aufrufe auch für Tokens verwenden, die von SAML-Assertions generiert wurden.
Der einzige Unterschied zwischen den unter OAuth2-Sicherheit mit der Apigee Edge-Verwaltungs-API verwenden dokumentierten API-Aufrufen besteht darin, dass die URL des Aufrufs auf Ihren Zonennamen verweisen muss. Zusätzlich müssen Sie zum Generieren des ersten Zugriffstokens den Sicherheitscode angeben, wie in Schritt 3 des oben beschriebenen Verfahrens beschrieben.
Verwenden Sie beispielsweise den folgenden API-Aufruf, um das Erstzugriffs- und Aktualisierungstoken zu generieren:
curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" / -H "accept: application/json;charset=utf-8" / -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST / https://edge_sso_IP_DNS:9099/oauth/token -s / -d 'grant_type=password&response_type=token&passcode=passcode'
Übergeben Sie zur Autorisierung reservierte OAuth2-Clientanmeldedaten im Authorization
-Header. Der Aufruf gibt die Zugriffs- und Aktualisierungstokens auf dem Bildschirm aus.
Um das Zugriffstoken später zu aktualisieren, verwenden Sie den folgenden Aufruf, der das Aktualisierungstoken enthält:
curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" / -H "Accept: application/json;charset=utf-8" / -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST / https://edge_sso_IP_DNS:9099/oauth/token / -d 'grant_type=refresh_token&refresh_token=refreshToken'