GlideJWTAPI : dans le champ d’application

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 1 minute de lecture
  • Utilisez l’API GlideJWT pour créer un jeton Web JSON (JWT) pour représenter les réclamations en toute sécurité entre deux parties sur le .ServiceNow AI Platform

    Cette API est fournie dans l’espace de noms sn_auth .

    GlideJWTAPI : generateJWT(String jwtProviderSysId, String jsonSerializedHeader, String jsonSerializedPayload)

    Génère un jeton Web JSON (JWT).

    Les JWT se composent de trois parties : un en-tête, une charge utile et une signature.

    Tableau 1. Paramètres
    Nom Type Description
    jwtProviderSysId Chaîne Sys_id du fournisseur JWT.

    Table : Fournisseur JWT [jwt_provider]

    en-tête jsonSerializedHeader Chaîne Facultatif. En-tête JSON de la charge utile.

    Par défaut : utilise les réclamations de l’enregistrement du fournisseur JWT.

    jsonSerializedPayload Chaîne Facultatif. Charge utile JSON.

    Par défaut : utilise les réclamations de l’enregistrement du fournisseur JWT.

    Tableau 2. Renvoie
    Type Description
    Chaîne JWT généré.

    Cet exemple génère un JWT à l’aide des réclamations de l’enregistrement du fournisseur JWT.

    var jwtAPI = new sn_auth.GlideJWTAPI();
    
    var jwtProviderSysId = "ce7d1a62a3660210f1565f87f31e61f7";
    var jwt = jwtAPI.generateJWT(jwtProviderSysId, null, null);
    
    gs.info("JWT:" + jwt);

    Sortie :

    JWT:eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiI5YzZlMmQxNzU0MzMyMDEwMDFhMTE4Y2FhMGVhMmE0MyIsInN1YiI6ImFkbWluQGV4YW1wbGUuY29tIiwiaXNzIjoiaHR0cHM6Ly9kb21haW4uZXhhbXBsZS5jb20iLCJleHAiOjE3MTc2MDc0MjQsImlhdCI6MTcxNzYwNzM2NCwianRpIjoiMjUzMjRjOWItMzlhMS00ZTc4LWEzNzItMGZjNzA2ZWE2ZDgxIn0.UwfdJzdMNE1zAyOFsaGGKPqatbSgDdYi_LjBwj9KUtKRRLyEDWuS7fErl_6W1_5dvhvtEPPGwBq84FcIjIzdNe17-zTi6tRaVIMfC8PDd2emjlKM1NgyYV1lzGQyDpafl4V0FixqFp1jB-_4XejN2UvWbMT9ylOoPALYGII13R8VabVYdknMOxBO8KMyOefxcAhS2OVFDFfozwMJtgJosPls3bzK1f0_WvGZDEBLdbDobzvrYjqNPIcmYk7pvyJ-ROeaxxj5h4erR4H8gFF_pG8bAxnLnFRMTzp-ZsbALMnC-B331jqj0Pi5gHsfTCNCV-zvGkyQwFwSfLB9uBo1gw

    JWT décodé :

    {
      "typ": "JWT",
      "alg": "RS256"
    }
    .
    {
      "aud": "9c6e2d175433201001a118caa0ea2a43",
      "sub": "admin@example.com",
      "iss": "https://domain.example.com",
      "exp": 1717607424,
      "iat": 1717607364,
      "jti": "25324c9b-39a1-4e78-a372-0fc706ea6d81"
    }

    Cet exemple génère un JWT à l’aide de réclamations personnalisées.

    var jwtAPI = new sn_auth.GlideJWTAPI();
    
    var headerJSON = {  "kid": "a1234"  };
    var header = JSON.stringify(headerJSON);
    
    var payloadJSON = { "iss": "override_value_in_JWT_provider_record", "custom_claim_1": "custom_claim_1_value" };
    var payload = JSON.stringify(payloadJSON);
    
    var jwtProviderSysId = "ce7d1a62a3660210f1565f87f31e61f7";
    var jwt = jwtAPI.generateJWT(jwtProviderSysId, header, payload);
    
    gs.info("JWT:" + jwt);

    Sortie :

    JWT:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImExMjM0In0.eyJhdWQiOiI5YzZlMmQxNzU0MzMyMDEwMDFhMTE4Y2FhMGVhMmE0MyIsInN1YiI6ImFkbWluQGV4YW1wbGUuY29tIiwiaXNzIjoib3ZlcnJpZGVfdmFsdWVfaW5fSldUX3Byb3ZpZGVyX3JlY29yZCIsImN1c3RvbV9jbGFpbV8xIjoiY3VzdG9tX2NsYWltXzFfdmFsdWUiLCJleHAiOjE3MTc2MDc4MTksImlhdCI6MTcxNzYwNzc1OSwianRpIjoiNjE3YjMyMjQtYjZmZi00MGZmLTliY2QtNTQ5YTdhNTk4YjkzIn0.Oi6AW0KW8i9yyBgWZnVGDKIqK_GYhIlHMigeNBU141nYXJNhLuk36455TwDKj2z40NMI-nqRaxoVIfo1XQiR7_oXuKnmNSDHQJofedq9sQVFbnQmmPnYNzG-01CVTx4xOm_KdPF_WrWvOqj5nyiqPC7fkjEkVbhXDsygRWcoghRrazFwbmS1ujXbs0sXap99uEexiJfUZ0Ad7bjvQ-T1Wh5Sc4LKZguH-egAze98mxQCiMNQAZLAfSs9qPEnXMe8EjXZnPaz3-wMH4KVUGR_gT49XPWkp4081tX7acE77j_55TvCxVyqAGWIOEqI6hlAO_bQmM35pCvN4NSek_GxbQ

    JWT décodé :

    {
      "alg": "RS256",
      "typ": "JWT",
      "kid": "a1234"
    }
    .
    {
      "aud": "9c6e2d175433201001a118caa0ea2a43",
      "sub": "admin@example.com",
      "iss": "override_value_in_JWT_provider_record",
      "custom_claim_1": "custom_claim_1_value",
      "exp": 1717607819,
      "iat": 1717607759,
      "jti": "617b3224-b6ff-40ff-9bcd-549a7a598b93"
    }