Basic Auth ist eine Möglichkeit zur Authentifizierung, wenn Aufrufe an die Edge-Verwaltungs-API erfolgen. Für Sie können beispielsweise die folgende cURL-Anfrage an die Edge-Verwaltungs-API senden, um auf Informationen zuzugreifen zu Ihrer Organisation:
curl -u userName:pWord https://ms_IP_DNS:8080/v1/organizations/orgName
In diesem Beispiel verwenden Sie die Option cURL -u, um Basic Auth-Anmeldedaten zu übergeben. Alternativ können Sie kann ein OAuth2-Token im Bearer-Header übergeben, um die Edge-Verwaltungs-API Anrufe. Beispiel:
curl -H "Authorization: Bearer access_token" https://ms_IP_DNS:8080/v1/organizations/orgName
Nachdem Sie SAML aktiviert haben, können Sie Basic Auth optional deaktivieren. Wenn Sie Basic Auth deaktivieren, Maven-Skripts, Shell-Skripts, Apigeetool usw., die auf Edge basieren Verwaltungs-API-Aufrufe, die Basic Auth unterstützen, funktionieren nicht mehr. Sie müssen alle API-Aufrufe und Skripts, die Basic Auth verwenden, um OAuth2-Zugriffstokens im Bearer-Header zu übergeben.
get_token zum Abrufen und Aktualisieren von Tokens verwenden
Das Dienstprogramm get_token tauscht Ihre Basic Auth-Anmeldedaten und einen Sicherheitscode gegen ein OAuth2-Zugriffs- und Aktualisierungstoken aus. Die get_token-Dienstprogramm akzeptiert, dass Anmeldedaten und gibt ein gültiges Zugriffstoken aus. Wenn ein Token aktualisiert werden kann, wird es aktualisiert und drucken Sie es aus. Wenn das Aktualisierungstoken abläuft, werden Sie zur Eingabe von Nutzeranmeldedaten aufgefordert.
Das Dienstprogramm get_token Die Tokens auf dem Laufwerk, die bei Bedarf einsatzbereit sind. Außerdem wird ein gültiges Zugriffstoken an stdout ausgegeben. Von dort aus können Sie Postman verwenden oder zur Verwendung in curl in eine Umgebungsvariable einbetten.
Im Folgenden wird beschrieben, wie Sie mit get_token ein OAuth2-Zugriffstoken für Führen Sie Edge-Management-API-Aufrufe aus:
- Laden Sie sso-cli herunter.
Set:
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. das Edge-SSO-Modul hostet. Wenn Sie TLS für Edge-SSO konfiguriert haben, verwenden Sie
https
und den richtige TLS-Portnummer. - Entpacken Sie das
ssocli-bundle.zip
-Bundle:unzip ssocli-bundle.zip
- Installieren Sie get_token in
/usr/local/bin:
> ./install: Verwenden Sie die Methode -b-Option zum Angeben eines an einem anderen Standort: > ./install -b Pfad - SSO_LOGIN_URL festlegen
an Ihre Anmelde-URL an. Diese hat folgendes Format:
Exportieren SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"
Dabei ist edge_sso_IP_DNS die IP-Adresse des DNS-Namens der Maschine. das Edge-SSO-Modul hostet. Wenn Sie TLS für 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 für Edge-SSO konfiguriert haben, verwenden Sie https und die richtige TLS-Portnummer.
Hinweis: Wenn Sie derzeit nicht bei Ihrem Identitätsanbieter angemeldet sind, aufgefordert werden, sich anzumelden.
Diese URL gibt einen einmaligen Sicherheitscode zurück, der so lange gültig ist, bis Sie die URL aktualisieren, um ein oder Sie verwenden den Sicherheitscode mit get_token, um ein Zugriffstoken zu generieren. - Rufen Sie get_token auf, um
Das OAuth2-Zugriffstoken:
> get_token -u emailAddress
Dabei ist emailAddress die E-Mail-Adresse eines Edge-Nutzers. Sie sind aufgefordert, den einmaligen Sicherheitscode einzugeben, den Sie in Schritt 3 erhalten haben:
Einmaliger Code ( Sie erhalten einen unter https://edge_sso_IP.com/passcode )
Wenn SAML aktiviert ist, geben Sie den Sicherheitscode ein oder drücken Sie die Eingabetaste:
Geben Sie den Sicherheitscode ein. Das Dienstprogramm get_token ruft den OAuth2-Zugriff ab. auf den Bildschirm 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 Sicherheitscode - Übergeben Sie das Zugriffstoken an einen Edge-Management-API-Aufruf als Bearer-Header:
> 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 das Zugriffstoken abrufen und übergeben Sie sie in einem einzigen Befehl an einen API-Aufruf, wie unten gezeigt:
> header=`get_token` && curl -H "Authorization: Bearer $header" https://ms_IP:8080/v1/o/orgName
Wenn das Zugriffstoken abgelaufen ist, wird es mit diesem Befehl automatisch aktualisiert bis das Aktualisierungstoken abläuft.
Nach Ablauf des Aktualisierungstokens werden Sie von get_token aufgefordert, einen neuen Sicherheitscode einzugeben. Ich müssen Sie die URL aufrufen, die in Schritt 3 oben angegeben wurde, und einen neuen Sicherheitscode generieren. Erst dann können Sie einen Neues OAuth-Zugriffstoken
Mit der Verwaltungs-API Daten abrufen und aktualisieren Tokens
OAuth2 verwenden Sicherheit mit der Apigee Edge-Verwaltungs-API enthält Anweisungen zur Verwendung der Edge-Management-API zum Abrufen und Aktualisieren von Tokens. Sie können auch Edge API-Aufrufe für Tokens verwenden. die aus SAML-Assertions generiert wurden.
Der einzige Unterschied zwischen den API-Aufrufen, die unter OAuth2-Sicherheit verwenden mit der Apigee Edge-Verwaltungs-API ist, dass die URL des Aufrufs auf Ihre Zone verweisen muss. Namen. Außerdem müssen Sie zum Generieren des anfänglichen Zugriffstokens den Sicherheitscode angeben, wie in Schritt 3 oben beschrieben.
Verwenden Sie beispielsweise den folgenden API-Aufruf, um die anfänglichen Zugriffs- und Aktualisierungstokens 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 für die Autorisierung die reservierten Anmeldedaten des OAuth2-Clients im Authorization-Header. Der Aufruf druckt die und aktualisieren Sie Tokens auf dem Bildschirm.
Verwenden Sie den folgenden Aufruf, der das Aktualisierungstoken enthält, um das Zugriffstoken später zu aktualisieren:
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'