---
sourceDocument: Xanadu-API-Referenz
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/de-DE/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - de-DE

ft:publication_title :

    - Xanadu-API-Referenz

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# RequestAuthAPI : Bereichsbezogen

# RequestAuthAPI : Bereichsbezogen {#ariaid-title1}

* Freigeben Version: Xanadu
* 
* Aktualisiert 1. August 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 3 Minuten Lesedauer

Die RequestAuthAPI bietet Methoden zum Anwenden einer Signatur auf eine REST-Anforderung.  
Generieren Sie ausgehende Signieranforderungen mit diesen APIs in der folgenden Reihenfolge:

1. HttpRequestData: API-Anforderung erstellen.
2. AuthCredential: Erstellen Sie ein Anmeldeinformationsobjekt, oder aktualisieren Sie ein vorhandenes Objekt. Verwenden Sie die Anmeldeinformationen, um die Anforderung über die RequestAuthAPI -Klasse zu signieren.
3. RequestAuthAPI: Signieren Sie die Anforderung und geben Sie ein HttpRequestAuthedData-Objekt zurück.
4. HttpRequestAuthedData: Ruft Informationen zur signierten Anforderung ab.
5. GlideHTTPRequest: Signierte Anforderung senden.
{#RequestAuthAPI__ol_gvv_22t_tjb}

Bevor Sie diese APIs verwenden, müssen Sie [einen Authentifizierungsalgorithmus konfigurieren](https://www.servicenow.com/docs/access?context=configure-authentication-algorithm&version=xanadu&pubname=xanadu-platform-security&ft:locale=en-US), um die Anforderung zu signieren und den Anmeldeinformationen zuzuordnen, die zur Authentifizierung der Anforderung verwendet werden.

Verwenden Sie diese API in bereichsbezogenen Skripts mit dem Namespace-Bezeichner `sn_auth`.

## RequestAuthAPI: RequestAuthAPI (Objektdaten, Objektanmeldeinformationen) {#ariaid-title2}

Instanziiert ein RequestAuthAPI-Objekt mithilfe einer REST-Anforderung und von Anmeldeinformationen.
{#RequestAuthAPI-RequestAuthAPI_O_O__table_htv_rvv_5jb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| data | Objekt | HttpRequestData-Objekt, das die nicht signierte REST-Anforderung enthält. Verwenden Sie die Klasse HttpRequestData, um dieses Objekt zu erstellen. Weitere Informationen finden Sie [unter HttpRequestData-API](https://servicenow-prod.fluidtopics.net/uXJRhmrs~s0P0USJdqVa_A#HttpRequestDataAPI "Die HttpRequestData- API bietet Methoden zum Erstellen und Bearbeiten einer REST-Anforderung, bevor eine Signatur angewendet und an einen Endpunkt gesendet wird."). |
| Anmeldeinformationen | Objekt | Objekt, das einen Datensatz aus der Tabelle „Anmeldeinformationen" \[discovery_credentials\] darstellt. Rufen Sie dieses Objekt mit der AuthCredential -Klasse ab. Weitere Informationen finden Sie [unter AuthCredential-API](https://servicenow-prod.fluidtopics.net/~oJS8Xd7NOE5OKellWnKdg#AuthCredentialAPI "Die API AuthCredential() stellt Methoden bereit, mit denen Sie Anmeldeinformationen für eine REST-Anforderung erstellen können."). |
[Tabelle : 1. Parameter]

{#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}

Signiert das HttpRequestData-Objekt und gibt ein HttpRequestAuthedData-Objekt zurück, das zum Senden in der REST-Anforderung verwendet wird.
{#RequestAuthAPI-generateAuth__table_uhw_sy4_5jb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Keine |   |   |
[Tabelle : 2. Parameter]

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

| Typ | Beschreibung |
|-|-|
| HttpRequestAuthedData | Objekt. Daten, die zum Abrufen von Informationen zum signierten Ergebnis verwendet werden. Verwenden Sie die Methoden in der Klasse „HttpRequestAuthedData", um mit dem signierten Ergebnis zu interagieren. Siehe [HttpRequestAuthedData-API](https://servicenow-prod.fluidtopics.net/hAQJNfLm1poTyn8w1Dp5_w#HttpRequestAuthedDataAPI "Die HttpRequestAuthedData()- API bietet Methoden für den Zugriff auf und das Festlegen von Werten in einer signierten REST- oder SOAP-Anforderung."). |
[Tabelle : 3. Ergebnisse]

{#RequestAuthAPI-generateAuth__table_vhw_sy4_5jb}  
In diesem Beispiel wird eine Anforderung erstellt und ein Anmeldeinformationsdatensatz abgerufen, der an die RequestAuthAPI- API übergeben wird. Die Methode „ generateAuth() " signiert dann die Anforderung.

    // 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}

Gibt den Anmeldeinformationsdatensatz zurück, der zum Signieren der Anforderung verwendet wurde.
{#RequestAuthAPI-getAuthCredential__table_pfm_ny4_5jb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Keine |   |   |
[Tabelle : 4. Parameter]

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

| Typ | Beschreibung |
|-|-|
| Auth-Anmeldeinformationen | Objekt. Daten, die zum Abrufen von Informationen über den Anmeldeinformationsdatensatz verwendet werden, der zum Signieren der Anforderung verwendet wird. Verwenden Sie die Methoden in der AuthCredential -Klasse, um mit den Anmeldeinformationen zu interagieren. Weitere Informationen finden Sie [unter AuthCredential-API](https://servicenow-prod.fluidtopics.net/~oJS8Xd7NOE5OKellWnKdg#AuthCredentialAPI "Die API AuthCredential() stellt Methoden bereit, mit denen Sie Anmeldeinformationen für eine REST-Anforderung erstellen können."). |
[Tabelle : 5. Ergebnisse]

{#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}

Gibt das HttpRequestData-Objekt zurück, das zum Instanziieren der RequestAuthAPI -Klasse verwendet wurde.
{#RequestAuthAPI-getHttpRequestData__table_hp2_ly4_5jb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Keine |   |   |
[Tabelle : 6. Parameter]

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

| Typ | Beschreibung |
|-|-|
| HTTPAnforderungsdaten | Objekt. Enthält die nicht signierte REST-Anforderung. Verwenden Sie die Methoden in der Klasse HttpRequestData, um mit der Anforderung zu interagieren. Weitere Informationen finden Sie [unter HttpRequestData-API](https://servicenow-prod.fluidtopics.net/uXJRhmrs~s0P0USJdqVa_A#HttpRequestDataAPI "Die HttpRequestData- API bietet Methoden zum Erstellen und Bearbeiten einer REST-Anforderung, bevor eine Signatur angewendet und an einen Endpunkt gesendet wird."). |
[Tabelle : 7. Ergebnisse]

{#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());

Ausgabe:

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

## RequestAuthAPI -- ResetAuthCredential() {#ariaid-title6}

Generiert ein temporäres Token mit eingeschränkten Berechtigungen, mit dem Sie vertrauenswürdigen Benutzern temporäre Sicherheitsanmeldeinformationen zur Steuerung von Drittparteiressourcen bereitstellen können.
Zur Verwendung dieser Methode muss der Drittanbieterservice eine API oder ein SDK enthalten, die Token für eingeschränkten Zugriff verarbeitet und verwaltet.
{#RequestAuthAPI-resetAuthCredential__table_rxd_qy4_5jb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Keine |   |   |
[Tabelle : 8. Parameter]

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

| Typ | Beschreibung |
|-|-|
| void |   |
[Tabelle : 9. Ergebnisse]

{#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'); ​
    }


