RequestAuthAPI – Umfang

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 3 Minuten Lesedauer
  • Die RequestAuthAPI Stellt Methoden zum Anwenden einer Signatur auf eine REST-Anforderung bereit.

    Generieren Sie ausgehende Signaturanforderungen mit diesen APIs in der folgenden Reihenfolge:
    1. HttpRequestData : API-Anforderung erstellen.
    2. Anmeldeinformationen : Erstellen Sie ein Anmeldeinformationsobjekt, oder aktualisieren Sie ein vorhandenes. Verwenden Sie die Anmeldeinformationen, um die Anforderung über zu signieren RequestAuthAPI Klasse.
    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.

    Bevor Sie diese APIs verwenden, müssen Sie dies tun Konfigurieren Sie einen Authentifizierungsalgorithmus Um die Anforderung zu signieren und den Anmeldeinformationen zuzuordnen, die zur Authentifizierung der Anforderung verwendet werden.

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

    RequestAuthAPI: RequestAuthAPI (Objektdaten, Objektanmeldeinformationen)

    Instanziiert ein RequestAuthAPI-Objekt mithilfe einer REST-Anforderung und einer Anmeldeinformation.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    data Objekt HttpRequestData-Objekt, das die nicht signierte REST-Anforderung enthält. Verwenden Sie HttpRequestData Klasse zum Erstellen dieses Objekts. Siehe HttpRequestData-API .
    Anmeldeinformationen Objekt Objekt, das einen Datensatz aus der Tabelle „Anmeldeinformationen“ [Discovery_credentials] darstellt. Rufen Sie dieses Objekt mit ab Anmeldeinformationen Klasse. Siehe Authentifizierungs-API .
    // 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()

    Signiert das HttpRequestData-Objekt und gibt ein HttpRequestAuthedData-Objekt zurück, das zum Senden der REST-Anforderung verwendet werden soll.

    Tabelle : 2. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 3. Ergebnisse
    Typ Beschreibung
    HttpRequestAuthedData Objekt. Daten, die zum Abrufen von Informationen zum signierten Ergebnis verwendet werden sollen. Verwenden Sie die Methoden in HttpRequestAuthedData Klasse, die mit dem signierten Ergebnis interagieren soll. Siehe HttpRequestAuthedData-API .

    Dieses Beispiel erstellt eine Anforderung und ruft einen Anmeldeinformationsdatensatz ab, der an übergeben werden soll RequestAuthAPI API. Die GenerateAuth() Methode 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()

    Gibt den Anmeldeinformationsdatensatz zurück, der zum Signieren der Anforderung verwendet wird.

    Tabelle : 4. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 5. Ergebnisse
    Typ Beschreibung
    Anmeldeinformationen Objekt. Daten, die zum Abrufen von Informationen zum Anmeldeinformationsdatensatz verwendet werden sollen, der zum Signieren der Anforderung verwendet wird. Verwenden Sie die Methoden in Anmeldeinformationen Klasse, die mit den Anmeldeinformationen interagiert werden soll. Siehe Authentifizierungs-API .
    // 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()

    Gibt das HttpRequestData-Objekt zurück, das zum Instanziieren von verwendet wurde RequestAuthAPI Klasse.

    Tabelle : 6. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 7. Ergebnisse
    Typ Beschreibung
    HttpRequestData Objekt. Enthält die nicht signierte REST-Anforderung. Verwenden Sie die Methoden in HttpRequestData Klasse, die mit der Anforderung interagiert werden soll. Siehe HttpRequestData-API .
    // 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()

    Generiert ein temporäres Token mit eingeschränkten Berechtigungen, das Sie verwenden können, um vertrauenswürdigen Anwendern temporäre Sicherheitsanmeldeinformationen zur Steuerung von Drittparteiressourcen bereitzustellen.

    Zur Verwendung dieser Methode muss der Drittpartei-Service eine API oder ein SDK enthalten, die Token mit eingeschränktem Zugriff verarbeitet und verwaltet.

    Tabelle : 8. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 9. Ergebnisse
    Typ Beschreibung
    void
    // 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'); ​
    }