Configurer un fournisseur OIDC OAuth pour accepter les jetons tiers
Configurez un fournisseur OAuth OpenID Connect (OIDC) pour accepter les jetons d’identité générés par un fournisseur OIDC tiers à l’aide d’appels d’API entrants à l’aide de l’option d’authentification unique (SSO de plusieurs fournisseurs).
Avant de commencer
Pourquoi et quand exécuter cette tâche
La ServiceNow AI Platform prend en charge OpenID Connect (OIDC) via l’implémentation de Single Sign-On (SSO) externe, en plus des appels d’API entrants.
Pour obtenir un exemple de configuration de fournisseur OIDC, reportez-vous à la section Set up Microsoft Entra ID spoke. Pour obtenir un exemple de configuration de fournisseur OIDC spécifique à la SSO, reportez-vous à la section Créer une configuration OpenID Connect (OIDC) pour l’authentification unique (SSO).
Procédure
Voici un exemple de requête cURL pour appeler un appel d’API REST
Invoquez un appel d’API REST.Procédez comme suit :
- Enregistrez l’application dans le fournisseur OpenID Connect.
- Configurez l’entité OIDC OAuth.
- Configurez le fournisseur OIDC :
Tableau 1. Fournisseur OIDC Fournisseur OIDC Nom du fournisseur OIDC. URL des métadonnées OIDC Spécifiez l’URL des métadonnées OIDC (URL de configuration connue). Ces informations sont utilisées pour extraire les clés publiques afin de valider le jeton via le point de terminaison JWKS . Réclamation de l’utilisateur La réclamation validée par rapport à la table utilisateur. Champ d'utilisateur Réclamation de l’utilisateur qui identifie l’enregistrement utilisateur. Activer la vérification de la réclamation JTI Lorsque cette option est activée, la validation du jeton JWT ServiceNow valide également le JTI envoyé par le fournisseur. Remarque :Si la validation n’est pas cochée, le JTI ne peut pas être validé, qu’il soit présent ou non dans le jeton JWT. Le nom de la réclamation dans le jeton doit être JTI. Ces informations sont utilisées pour aider à prévenir les attaques par relecture. - Obtenez un jeton JWT.
- Invoquez un appel d’API REST.
- Jeton d’ID dans l’en-tête d’autorisation permettant d’accéder à l’API de table ou au service Web scripté.
curl -X GET --header "Accept:application/json" https://<instance_name>.service-now.com/api/now/table/incident/897b04f2dbd4a300a135364e9d961952 -k --header "Authorization: Bearer eyJraWQiOiJjNTZtZTlXU0xPVnY3UFMwcTg4Qzl1b0lzNjFQYTdmUG4yZFVFOW9RNUg4IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiIwMHVnZDg1OD VkczI1WXpUSjBoNyIsIm5hbWUiOiJpbXJhbiBhbGkiLCJsb2NhbGUiOiJlbi1VUyIsImVtYWlsIjoiaW1yb241NDNAZ21haWwuY29tIiwidmVyIjoxLCJpc3MiOiJodHRwczovL2Rldi05MzQ xMjEub2t0YXByZXZpZXcuY29tIiwiYXVkIjoiMG9hZ2Q4bzk3a2lCT3dwd0IwaDciLCJpYXQiOjE1Mzc5MzMzMjYsImV4cCI6MTUzNzkzNjkyNiwianRpIjoiSUQueThVdXpWNUg2bm16SzRs OTI1RFVrQnJoR1o1MmJzVVpGVHRVTEphQjg3ayIsImFtciI6WyJwd2QiXSwiaWRwIjoiMDBvZ2Q4NTgycEFqZDZTemcwaDciLCJub25jZSI6InNub3ciLCJwcmVmZXJyZWRfdXNlcm5hbWUiO iJpbXJvbjU0M0BnbWFpbC5jb20iLCJnaXZlbl9uYW1lIjoiaW1yYW4iLCJmYW1pbHlfbmFtZSI6ImFsaSIsInpvbmVpbmZvIjoiQW1lcmljYS9Mb3NfQW5nZWxlcyIsInVwZGF0ZWRfYXQiOj E1Mzc5MzAxOTcsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJhdXRoX3RpbWUiOjE1Mzc5Mjk2NjF9.OG87SYxWFgHGlhBYby2H79diRm9rlYZTeEkIINRUatwg-p4739htB8xEY-5_t6yU_6k5w1 0pdgtt5M5QFZRPXVbQZNoGtY-Bxn0BjaimcFgoWfhY_0ldnGTkzN2RYyIHvrf9-yhxg347zvczmLrgMMa_VwG4rxrtE6rUXaIpIeIK5b-Deq8ADz8UTUTKpF_5RWk4X-oh5xK6BLniFHk4ShO Zq2v_mjproXwKk5euJKrVrar2lQ4adZCOSTRuTf3ThMO5WDh0sel-82LngXtLzRJJ51IqxAsXns0kJHLLqLtH1hXNRKfwT1ScQoE_OfWm4t0KryI2j4wSMEanFtLXIw" - Si l’utilisateur est authentifié, une réponse application/json valide est renvoyée. Sinon, un message d’erreur « Utilisateur non authentifié » est renvoyé.
User Not Authenticated {"error":{"message":"User Not Authenticated","detail":"Required to provide Auth information"},"status":"failure"}
- Jeton d’ID dans l’en-tête d’autorisation permettant d’accéder à l’API de table ou au service Web scripté.