---
sourceDocument: Référence de l’API Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/fr-FR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - fr-FR

ft:publication_title :

    - Référence de l’API Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# RequestAuthAPI : inclus dans le champ d'application

# RequestAuthAPI : inclus dans le champ d'application {#ariaid-title1}

* Rversion finale: Xanadu
* 
* Mis à jour 1 août 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 3 minutes de lecture

RequestAuthAPI fournit des méthodes pour appliquer une signature à une demande REST.  
Générez des demandes de signature sortantes à l'aide de ces API dans l'ordre suivant :

1. HttpRequestData : générer la demande d'API.
2. AuthCredential : créer un objet d'informations d'identification ou mettre à jour un objet existant. Utilisez les informations d'identification pour signer la demande via la classe RequestAuthAPI .
3. RequestAuthAPI : signer la demande et renvoyer un objet HttpRequestAuthedData.
4. HttpRequestAuthedData : obtenir des informations sur la demande signée.
5. GlideHTTPRequest : envoyer la demande signée.
{#RequestAuthAPI__ol_gvv_22t_tjb}

Avant d'utiliser ces API, vous devez [configurer un algorithme d'authentification](https://www.servicenow.com/docs/access?context=configure-authentication-algorithm&version=xanadu&pubname=xanadu-platform-security&ft:locale=en-US) pour signer la demande et l'associer aux informations d'identification utilisées pour authentifier la demande.

Utilisez cette API dans les scripts inclus dans le champ d'application avec l'identificateur `d'espace` de noms sn_auth.

## RequestAuthAPI : RequestAuthAPI (données de l'objet, informations d'identification de l'objet) {#ariaid-title2}

Instancie un objet RequestAuthAPI à l'aide d'une demande REST et d'informations d'identification.
{#RequestAuthAPI-RequestAuthAPI_O_O__table_htv_rvv_5jb__entry__3}

| Nom | Type | Description |
|-|-|-|
| données | Objet | Objet HttpRequestData qui contient la demande REST non signée. Utilisez la classe HttpRequestData pour générer cet objet. Consultez [API HttpRequestData](https://servicenow-prod.fluidtopics.net/M2x21q8tA8al4217Fi8zQA#HttpRequestDataAPI "L’API HttpRequestData fournit des méthodes pour créer et manipuler une demande REST avant d’appliquer une signature et de l’envoyer à un point de terminaison."). |
| Credential | Objet | Objet qui représente un enregistrement de la table Informations d'identification \[discovery_credentials\]. Récupérez cet objet à l'aide de la classe AuthCredential . Voir [API AuthCredential](https://servicenow-prod.fluidtopics.net/CvQnktg5N8Ae6vVF3bh1fw#AuthCredentialAPI "L’API AuthCredential() fournit des méthodes qui vous permettent de générer des informations d’identification pour une demande REST."). |
[Tableau 1. Paramètres]

{#RequestAuthAPI-RequestAuthAPI_O_O__table_htv_rvv_5jb}  

    // Define the HttpRequestData object
    var endpoint= "https://third-party-endpoint";
    var httpRequestData = new sn_auth.HttpRequestData();
    httpRequestData.setEndpoint(endpoint);
    httpRequestData.setService('s3');
    httpRequestData.setRegion('us-east-1');
    httpRequestData.setHttpMethod("PUT");
    var content = "Action=SendMessage&MessageBody=This is a test message";
    httpRequestData.setContent(content);
    httpRequestData.addHeader('x-amz-acl' , 'public-read' );
     
     // Get a credential record
    var credential = new sn_cc.StandardCredentialsProvider().getAuthCredentialByID("88772d0d40990010f8772fdd9ebc8075");
     
    // Instantiate a RequestAuthAPI object
    var signingAPI = new sn_auth.RequestAuthAPI(httpRequestData, credential);

## RequestAuthAPI : generateAuth() {#ariaid-title3}

Signe l'objet HttpRequestData et renvoie un objet HttpRequestAuthedData à utiliser pour envoyer la demande REST.
{#RequestAuthAPI-generateAuth__table_uhw_sy4_5jb__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 2. Paramètres]

{#RequestAuthAPI-generateAuth__table_uhw_sy4_5jb} {#RequestAuthAPI-generateAuth__table_vhw_sy4_5jb__entry__2}

| Type | Description |
|-|-|
| Données HttpRequestAuthedData | Objet. Données à utiliser pour obtenir des informations sur le résultat signé. Utilisez les méthodes de la classe HttpRequestAuthedData pour interagir avec le résultat signé. Consultez [l'API HttpRequestAuthedData](https://servicenow-prod.fluidtopics.net/29zYihKUytwM8N5WVIF5MA#HttpRequestAuthedDataAPI "L’API HttpRequestAuthedData() fournit des méthodes permettant d’accéder et de définir les valeurs d’une demande REST ou SOAP signée."). |
[Tableau 3. Renvoie]

{#RequestAuthAPI-generateAuth__table_vhw_sy4_5jb}  
Cet exemple crée une demande et obtient un enregistrement d'informations d'identification à transmettre à l'API RequestAuthAPI . La méthode generateAuth() signe alors la requête.

    // Define the HttpRequestData object
    var endpoint= "https://third-party-endpoint";
    var httpRequestData = new sn_auth.HttpRequestData();
    httpRequestData.setEndpoint(endpoint);
    httpRequestData.setService('s3');
    httpRequestData.setRegion('us-east-1');
    httpRequestData.setHttpMethod("PUT");
    var content = "Action=SendMessage&MessageBody=This is a test message";
    httpRequestData.setContent(content);
    httpRequestData.addHeader('x-amz-acl' , 'public-read' );
     
    // Get a credential record
    gs.info( "date:" + httpRequestData.getDate() );
    var credential = new sn_cc.StandardCredentialsProvider().getAuthCredentialByID("5b61c16f73533300f662cff8faf6a74b");
     
    // Create the RequestAuthAPI object and sign the request
    var signingAPI = new sn_auth.RequestAuthAPI(httpRequestData, credential);
    var output = signingAPI.generateAuth();
     
## RequestAuthAPI : getAuthCredential() {#ariaid-title4}

Renvoie l'enregistrement d'informations d'identification utilisé pour signer la demande.
{#RequestAuthAPI-getAuthCredential__table_pfm_ny4_5jb__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 4. Paramètres]

{#RequestAuthAPI-getAuthCredential__table_pfm_ny4_5jb} {#RequestAuthAPI-getAuthCredential__table_qfm_ny4_5jb__entry__2}

| Type | Description |
|-|-|
| AuthCredential | Objet. Données à utiliser pour obtenir des informations sur l'enregistrement d'informations d'identification utilisé pour signer la demande. Utilisez les méthodes de la classe AuthCredential pour interagir avec les informations d'identification. Voir [API AuthCredential](https://servicenow-prod.fluidtopics.net/CvQnktg5N8Ae6vVF3bh1fw#AuthCredentialAPI "L’API AuthCredential() fournit des méthodes qui vous permettent de générer des informations d’identification pour une demande REST."). |
[Tableau 5. Renvoie]

{#RequestAuthAPI-getAuthCredential__table_qfm_ny4_5jb}  

    // Define the HttpRequestData object
    var endpoint= "https://third-party-endpoint";
    var httpRequestData = new sn_auth.HttpRequestData();
    httpRequestData.setEndpoint(endpoint);
    httpRequestData.setService('s3');
    httpRequestData.setRegion('us-east-1');
    httpRequestData.setHttpMethod("PUT");
    var content = "Action=SendMessage&MessageBody=This is a test message";
    httpRequestData.setContent(content);
    httpRequestData.addHeader('x-amz-acl' , 'public-read' );
     
    // Get a credential record
    var credential = new sn_cc.StandardCredentialsProvider().getAuthCredentialByID("5b61c16f73533300f662cff8faf6a74b");
     
    // Return the AuthCredential object
    var signingAPI = new sn_auth.RequestAuthAPI(httpRequestData, credential);
    var signingCredential = signingAPI.getAuthCredential();

## RequestAuthAPI : getHttpRequestData() {#ariaid-title5}

Renvoie l'objet HttpRequestData utilisé pour instancier la classe RequestAuthAPI .
{#RequestAuthAPI-getHttpRequestData__table_hp2_ly4_5jb__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 6. Paramètres]

{#RequestAuthAPI-getHttpRequestData__table_hp2_ly4_5jb} {#RequestAuthAPI-getHttpRequestData__table_ip2_ly4_5jb__entry__2}

| Type | Description |
|-|-|
| Données de demande en ligne | Objet. Contient la demande REST non signée. Utilisez les méthodes de la classe HttpRequestData pour interagir avec la requête. Consultez [API HttpRequestData](https://servicenow-prod.fluidtopics.net/M2x21q8tA8al4217Fi8zQA#HttpRequestDataAPI "L’API HttpRequestData fournit des méthodes pour créer et manipuler une demande REST avant d’appliquer une signature et de l’envoyer à un point de terminaison."). |
[Tableau 7. Renvoie]

{#RequestAuthAPI-getHttpRequestData__table_ip2_ly4_5jb}  

    // Define the HttpRequestData object
    var endpoint= "https://third-party-endpoint";
    var httpRequestData = new sn_auth.HttpRequestData();
    httpRequestData.setEndpoint(endpoint);
    httpRequestData.setService('s3');
    httpRequestData.setRegion('us-east-1');
    httpRequestData.setHttpMethod("PUT");
    var content = "Action=SendMessage&MessageBody=This is a test message";
    httpRequestData.setContent(content);
    httpRequestData.addHeader('x-amz-acl' , 'public-read' );
     
     // Get a credential record
    var credential = new sn_cc.StandardCredentialsProvider().getAuthCredentialByID("88772d0d40990010f8772fdd9ebc8075");
     
    // Return the HttpRequestData object
    var signingAPI = new sn_auth.RequestAuthAPI(httpRequestData, credential);
    var unsignedRequest = signingAPI.getHttpRequestData();
     
    gs.info("Endpoint is: " + unsignedRequest.getEndpoint());

Sortie :

    Endpoint is: https://third-party-endpoint

## RequestAuthAPI : resetAuthCredential() {#ariaid-title6}

Génère un jeton de privilège temporaire et limité que vous pouvez utiliser pour fournir aux utilisateurs approuvés des informations d'identification de sécurité temporaires pour contrôler les ressources tierces.
Pour utiliser cette méthode, le service tiers doit inclure une API ou un Kit de développement logiciel (SDK) qui traite et gère les jetons d'accès limité.
{#RequestAuthAPI-resetAuthCredential__table_rxd_qy4_5jb__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 8. Paramètres]

{#RequestAuthAPI-resetAuthCredential__table_rxd_qy4_5jb} {#RequestAuthAPI-resetAuthCredential__table_sxd_qy4_5jb__entry__2}

| Type | Description |
|-|-|
| nul |   |
[Tableau 9. Renvoie]

{#RequestAuthAPI-resetAuthCredential__table_sxd_qy4_5jb}  

    // Creates a temporary token 
    function(authAPI) {​
        var requestData = authAPI.getHttpRequestData();​
        var credential= authAPI.getAuthCredential();​
        credential.setAttribute('Action', 'aws_sessionToken');​  
        authAPI.resetAuthCredential();	

        //Returns status information
        var status = credential.getAttribute('credential_reset_status'); ​
    }


