Configurer un fournisseur OIDC OAuth pour accepter les jetons tiers
Vous pouvez configurer un fournisseur OIDC OAuth pour qu’il accepte 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 Authentification unique (SSO de plusieurs fournisseurs).
Avant de commencer
Pourquoi et quand exécuter cette tâche
Procédure
Voici un exemple de requête cURL pour invoquer 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 qui est 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 Lorsqu’elle est activée, la validation du jeton JWT ServiceNow valide également le JTI envoyé par le fournisseur. Remarque :Si la validation n’est pas vérifié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 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 pour 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 pour accéder à l’API de table ou au service Web scripté.