AuthCredential: Bereichsbezogen

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 2 Minuten Lesedauer
  • Die API AuthCredential() stellt Methoden bereit, mit denen Sie Anmeldeinformationen für eine REST-Anforderung erstellen können.

    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.

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

    Sie können ein leeres AuthCredential-Objekt erstellen, ein vorhandenes AuthCredential-Objekt instanziieren oder die Klasse „ StandardCredentialsProvider “ verwenden, um ein AuthCredential-Objekt mit einem Anmeldeinformationsdatensatz aus der Tabelle „Anmeldeinformationen“ [discovery_credentials] zu instanziieren. Wenn Sie ein leeres AuthCredential-Objekt erstellen, verwenden Sie die Methode setAttribute(), um dem Objekt Eigenschaften hinzuzufügen.

    Das folgende Beispiel zeigt, wie AuthCredential mit StandardCredentialsProviderinstanziiert wird:
    // Return an AuthCredential object using a Credential sys_id
    var credential = new sn_cc.StandardCredentialsProvider().getAuthCredentialByID("5b61c16f73533300f662cff8faf6a74b");

    Verwenden Sie die AuthCredential- API in bereichsbezogenen Skripts mit dem Namespace-Bezeichner sn_auth.

    AuthCredential: AuthCredential(Object authCredential)

    Instanziiert ein neues AuthCredential-Objekt oder ändert ein vorhandenes Objekt.

    Sie können ein leeres AuthCredential-Objekt erstellen, ein vorhandenes AuthCredential-Objekt instanziieren oder die Klasse „ StandardCredentialsProvider “ verwenden, um ein AuthCredential-Objekt mit einem Anmeldeinformationsdatensatz aus der Tabelle „Anmeldeinformationen“ [discovery_credentials] zu instanziieren. Wenn Sie ein leeres AuthCredential-Objekt erstellen, verwenden Sie die Methode setAttribute(), um dem Objekt Eigenschaften hinzuzufügen.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    authCredential Objekt Optional. Fügen Sie diesen Parameter ein, um ein vorhandenes AuthCredential-Objekt zu aktualisieren.

    AuthCredential – getAttribute(Zeichenfolgeschlüssel)

    Gibt den Wert eines AuthCredential-Attributs zurück.

    Tabelle : 2. Parameter
    Name Typ Beschreibung
    key Zeichenfolge Schlüssel des Attributs, für das der Wert zurückgegeben werden soll.

    Wenn Sie ein leeres AuthCredential- Objekt erstellt haben, müssen Sie die Methode setAttribute() verwenden, um dem Objekt Eigenschaften hinzuzufügen.

    Wenn Sie einen Anmeldeinformationsdatensatz verwendet haben, um das AuthCredential- Objekt zu instanziieren, übergeben Sie einen Feldnamen aus der Tabelle „Anmeldeinformationen“ [discovery_credentials], um auf den Wert zuzugreifen.

    Tabelle : 3. Ergebnisse
    Typ Beschreibung
    void
    // 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 AuthCredential object and set an attribute
    var credential = new sn_auth.AuthCredential();
    credential.setAttribute("user_name", "admin");
     
    // Sign the request and return an AuthCredential attribute value
    var signingAPI = new sn_auth.RequestAuthAPI(httpRequestData, credential);
    var signingCredential = signingAPI.getAuthCredential();
    name = signingCredential.getAttribute("name");

    AuthCredential – setAttribute(Zeichenfolgenschlüssel, Zeichenfolgenwert)

    Legt ein Attribut für ein AuthCredential-Objekt fest.

    Tabelle : 4. Parameter
    Name Typ Beschreibung
    key Zeichenfolge Name des festzulegenden Attributs Wenn Sie ein leeres AuthCredential- Objekt erstellt haben, müssen Sie diese Methode verwenden, um dem Objekt Eigenschaften hinzuzufügen. Wenn Sie einen Anmeldeinformationsdatensatz verwendet haben, um das AuthCredential- Objekt zu instanziieren, übergeben Sie einen Feldnamen aus der Tabelle „Anmeldeinformationen“ [discovery_credentials], um den Wert festzulegen.
    Wert Zeichenfolge Wert des Attributs.
    Tabelle : 5. Ergebnisse
    Typ Beschreibung
    void
    // 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 AuthCredential object and set an attribute
    var credential = new sn_auth.AuthCredential();
    credential.setAttribute("user_name", "admin");