AuthCredential - com escopo

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 2 min. de leitura
  • A API AuthCredential() fornece métodos que permitem criar credenciais para uma solicitação REST.

    Gere solicitações de assinatura de saída usando essas APIs na seguinte ordem:
    1. HttpRequestData: crie a solicitação de API.
    2. AuthCredential: crie um objeto de credencial ou atualize um existente. Use a credencial para assinar a solicitação por meio da classe RequestAuthAPI.
    3. RequestAuthAPI: assine a solicitação e retorne um objeto HttpRequestAuthedData.
    4. HttpRequestAuthedData: obtenha informações sobre a solicitação assinada.
    5. GlideHTTPRequest: envia a solicitação assinada.

    Antes de usar essas APIs, você deve configurar um algoritmo de autenticação para assinar a solicitação e associá-la à credencial usada para autenticar a solicitação.

    Você pode criar um objeto AuthCredential vazio, instanciar um objeto AuthCredential existente ou usar a classe StandardCredentialsProvider para instanciar um objeto AuthCredential usando um registro de credencial da tabela Credentials [discovery_credentials]. Se você criar um objeto AuthCredential vazio, use o método setAttribute() para adicionar propriedades ao objeto.

    O exemplo a seguir mostra como instanciar um AuthCredential usando StandardCredentialsProvider:
    // Return an AuthCredential object using a Credential sys_id
    var credential = new sn_cc.StandardCredentialsProvider().getAuthCredentialByID("5b61c16f73533300f662cff8faf6a74b");

    Use a API AuthCredential em scripts com escopo com o identificador de namespace sn_auth.

    AuthCredential - AuthCredential (objeto authCredential)

    Instancia um novo objeto AuthCredential ou modifica um existente.

    Você pode criar um objeto AuthCredential vazio, instanciar um objeto AuthCredential existente ou usar a classe StandardCredentialsProvider para instanciar um objeto AuthCredential usando um registro de credencial da tabela Credentials [discovery_credentials]. Se você criar um objeto AuthCredential vazio, use o método setAttribute() para adicionar propriedades ao objeto.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    authCredential Objeto Opcional. Inclua este parâmetro para atualizar um objeto AuthCredential existente.

    AuthCredential - getAttribute(cadeia de caracteres chave)

    Retorna o valor de um atributo AuthCredential.

    Tabela 2. Parâmetros
    Nome Tipo Descrição
    chave Cadeia de caracteres Chave do atributo para o qual o valor será retornado.

    Se você criou um objeto AuthCredential vazio, deverá usar o método setAttribute() para adicionar propriedades ao objeto.

    Se você usou um registro de credencial para instanciar o objeto AuthCredential, passe um nome de campo da tabela Credencial [discovery_credentials] para acessar o valor.

    Tabela 3. Retornos
    Tipo Descrição
    vazio
    // 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(Chave de cadeia de caracteres, Valor de cadeia de caracteres)

    Define um atributo para um objeto AuthCredential.

    Tabela 4. Parâmetros
    Nome Tipo Descrição
    chave Cadeia de caracteres Nome do atributo a ser definido. Se você criou um objeto AuthCredential vazio, deverá usar o método this para adicionar propriedades ao objeto. Se você usou um registro de credencial para instanciar o objeto AuthCredential, passe um nome de campo da tabela Credencial [discovery_credentials] para definir o valor.
    valor Cadeia de caracteres Valor do atributo.
    Tabela 5. Retornos
    Tipo Descrição
    vazio
    // 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");