Génération d'un jeton bearer
Dans les rares cas où vous ne pouvez pas utiliser les jetons d'autorisation ZenApiKey , vous pouvez générer un jeton de porteur à l'aide de vos informations d'identification IBM watsonx informations d'identification. Vous pouvez utiliser le jeton du porteur pour vous authentifier auprès des IBM watsonx Et accéder aux IBM watsonx et d'accéder aux points d'extrémité.
A propos de cette tâche
Les jetons et les clés d'API sont soumis à des vérifications d'autorisation. L'invocation des points de terminaison de l'API dépend du rôle et des autorisations qui vous sont accordés sur la plateforme et dans les services.
Si vous souhaitez vous authentifier avec une clé API pour générer un jeton porteur, générez d'abord la clé API. Pour plus d'informations, voir Générer des clés API pour l'authentification.
Procédure
- Si vous souhaitez vous authentifier à l'aide d'un Red Hat®
OpenShift® nom d'utilisateur et d'un mot de passe, mais que le OpenShift nom d'utilisateur ne contient pas le préfixe
IAM#, vous devez mettre à jour leroksUserPrefixparamètre avec une valeur vide afin de supprimer le préfixe requis.- Exécutez la commande suivante pour effectuer la mise à jour
roksUserPrefixdirectement à partir de la ressource personnalisée d'authentification (CR) :oc patch Authentication.operator.ibm.com example-authentication \ --type=merge \ -p '{"spec":{"config":{"roksUserPrefix":""}}}'Après avoir exécuté la commande, les pods de la plateforme devraient redémarrer automatiquement.
- Exécutez la commande suivante pour vérifier que
roksUserPrefixa été corrigé :oc get Authentication.operator.ibm.com example-authentication \ -o jsonpath='{.spec.config.roksUserPrefix}'
Pour plus d'informations,
roksUserPrefixconsultez Déléguer l'authentification à OpenShift - Exécutez la commande suivante pour effectuer la mise à jour
- Appelez l'API en utilisant l'une des commandes suivantes : cURL. Choisissez la commande qui utilise les informations d'identification avec lesquelles vous souhaitez vous authentifier.
- S'authentifier avec un nom d'utilisateur et un mot de passe :
curl -k -X POST \ "https://<instance_route>/icp4d-api/v1/authorize" \ -H "Content-Type: application/json" \ -d '{ "username": "<username>", "password": "<password>" }' - S'authentifier à l'aide d'un mot de passe et valider un certificat auto-signé :
curl -X POST \ "https://<instance_route>/icp4d-api/v1/authorize" \ --cacert /<path_to_root-ca>.crt -H "Content-Type: application/json" \ -d "{ "username": <username>, "password": <password> }"Si le certificat est signé par une autorité de certification racine appropriée, les paramètres
-ket--cacertne sont pas nécessaires, car curl connaît déjà l'autorité de certification racine. - S'authentifier avec une clé API :
curl -k -X POST \ "https://<instance_route>/icp4d-api/v1/authorize" \ -H "Content-Type: application/json" \ -d '{ "username":"<username>", "api_key":"<api_key>" }'
Remplacez
<instance_route>par les détails de l'instance de service. Remplacez<username>,<password>, et<api_key>par vos informations d'identification IBM watsonx informations d'identification. Si vous utilisez un certificat auto-signé, remplacez également<path_to_root-ca>. - S'authentifier avec un nom d'utilisateur et un mot de passe :
{
"_messageCode_": "200",
"message": "Success",
"accessToken": "<bearer-token>"
}Pour plus d'informations sur les /icp4d-api/v1/authorize points de terminaison, consultez la section Obtenir un jeton d'autorisation dans l'API IBM® Software
Hub de la plateforme.
Etape suivante
Utilisez le jeton de porteur que vous avez généré dans l'en-tête d'autorisation des appels d'API ultérieurs.
curl -H "Authorization: Bearer <token>" "https://<platform_instance_route>/<endpoint>"