L'authentification de base est l'une des méthodes d'authentification permettant d'effectuer des appels à l'API de gestion Edge.
Par exemple, vous pouvez effectuer la requête curl suivante auprès de l'API Management Edge pour accéder
aux informations concernant votre organisation :
curl -u USER_NAME:PASSWORD http://MS_IP_DNS:8080/v1/organizations/ORG_NAME
Dans cet exemple, vous utilisez l'option curl -u pour transmettre les identifiants d'authentification de base. Vous pouvez également transmettre un jeton OIDC/OAuth2 dans l'en-tête Authorization: Bearer pour effectuer
des appels à l'API de gestion Edge, comme illustré dans l'exemple suivant :
curl -H "Authorization: Bearer ACCESS_TOKEN" http://MS_IP_DNS:8080/v1/organizations/ORG_NAME
Une fois que vous avez activé un fournisseur d'identité externe pour l'authentification, vous pouvez éventuellement désactiver l'authentification de base. Si vous désactivez l'authentification de base, tous les scripts (tels que Maven, shell et apigeetool) qui
s'appuient sur des appels à l'API de gestion Edge compatibles avec l'authentification de base ne fonctionneront plus. Vous devez mettre à jour
tous les appels d'API et scripts qui utilisent l'authentification de base pour transmettre des jetons d'accès OAuth2 dans l'
Bearer en-tête.
Obtenir et actualiser des jetons avec get_token
L'utilitaire get_token utilise le flux avec code d'appareil OAuth 2.0 standard pour acquérir des jetons d'accès et d'actualisation OIDC/OAuth2. L'utilitaire vous invite à accéder à une URL dans votre navigateur pour vous authentifier via votre fournisseur d'identité externe (ou LDAP local), puis débloque automatiquement votre terminal pour imprimer le jeton d'accès valide.
L'utilitaire get_token met en cache les jetons de manière sécurisée sur le disque dans ~/.sso-cli/, prêts à être utilisés si nécessaire. Il imprime également un jeton d'accès valide dans stdout. Si un jeton existant peut être actualisé, l'utilitaire l'actualise automatiquement. Si le jeton d'actualisation expire, il lance un nouveau flux d'autorisation basé sur le navigateur.
Pour obtenir un jeton d'accès OAuth2 afin d'effectuer des appels à l'API de gestion Edge :
- Les utilitaires
get_tokenetacurlsont préinstallés sur le nœud hébergeant l'authentification unique Apigee (nœud OpenLDAP) à l'adresse suivante :/opt/apigee/apigee-openldap/bin/ - (Facultatif) Définissez la variable d'environnement
SSO_LOGIN_URLsur l'URL de votre émetteur d'authentification unique, au format suivant :export SSO_LOGIN_URL="http://EDGE_SSO_IP_DNS:9099"
Où EDGE_SSO_IP_DNS est l'adresse IP ou le nom DNS de la machine hébergeant l'authentification unique Apigee. Si vous avez configuré le protocole TLS sur l'authentification unique Apigee, utilisez
httpset le numéro de port TLS approprié. - Appelez
get_tokenavec votre adresse e-mail pour lancer le flux avec code d'appareil OAuth 2.0 :/opt/apigee/apigee-openldap/bin/get_token -u EMAIL_ADDRESS
Où EMAIL_ADDRESS est l'adresse e-mail d'un utilisateur Edge.
- L'utilitaire s'interrompt et affiche une URL et un code d'appareil à huit caractères dans votre terminal :
Please visit: http://EDGE_SSO_IP_DNS:9099/device And enter code: ABCD-EFGH
- Ouvrez l'URL spécifiée dans votre navigateur, saisissez le code d'appareil, puis cliquez sur Envoyer. Vous serez redirigé vers votre fournisseur d'identité externe (ou formulaire LDAP local) pour vous authentifier et approuver la requête.
- Une fois l'authentification réussie dans le navigateur, revenez à votre terminal. L'utilitaire
get_tokendétecte automatiquement l'approbation, obtient le jeton d'accès OAuth2, l'affiche à l'écran et le met en cache de manière sécurisée. - Transmettez le jeton d'accès à un appel d'API Management Edge à l'aide de l'utilitaire
acurl, qui lit automatiquement le jeton mis en cache et injecte l'en-tête Bearer :/opt/apigee/apigee-openldap/bin/acurl http://MS_IP_DNS:8080/v1/organizations/ORG_NAME
Vous pouvez également transmettre manuellement le jeton à l'aide de la commande
curlstandard :curl -H "Authorization: Bearer ACCESS_TOKEN" \ http://MS_IP_DNS:8080/v1/organizations/ORG_NAME
Utiliser l'API de gestion pour obtenir et actualiser des jetons
Le point de terminaison /passcode hérité a été supprimé. Par conséquent, les utilisateurs humains doivent utiliser l'utilitaire get_token comme décrit précédemment pour lancer le flux avec code d'appareil OAuth 2.0 basé sur le navigateur pour l'authentification initiale.
Si vous écrivez des scripts ou des pipelines CI/CD qui ne peuvent pas interagir avec un navigateur, consultez Automatiser des tâches avec des utilisateurs de machines. Les utilisateurs de machines ou les applications automatisés disposant d'identifiants valides peuvent utiliser des appels d'API standards pour obtenir et actualiser des jetons.