RequestAuthAPI - com escopo
A RequestAuthAPI fornece métodos para aplicar uma assinatura a uma solicitação REST.
- HttpRequestData: crie a solicitação de API.
- AuthCredential: crie um objeto de credencial ou atualize um existente. Use a credencial para assinar a solicitação por meio da classe RequestAuthAPI.
- RequestAuthAPI: assine a solicitação e retorne um objeto HttpRequestAuthedData.
- HttpRequestAuthedData: obtenha informações sobre a solicitação assinada.
- 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.
Use esta API em scripts com escopo com o identificador de namespace sn_auth.
RequestAuthAPI - RequestAuthAPI (dados do objeto, credencial do objeto)
Instancia um objeto RequestAuthAPI usando uma solicitação REST e uma credencial.
| Nome | Tipo | Descrição |
|---|---|---|
| dados | Objeto | Objeto HttpRequestData que contém a solicitação REST não assinada. Use a classe HttpRequestData para criar este objeto. Consulte API HttpRequestData. |
| credencial | Objeto | Objeto que representa um registro da tabela Credentials [discovery_credentials]. Recupere este objeto usando a classe AuthCredential. Consulte API AuthCredential. |
// 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()
Assina o objeto HttpRequestData e retorna um objeto HttpRequestAuthedData a ser usado para enviar a solicitação REST.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| HttpRequestAuthedData | Objeto. Dados a serem usados para obter informações sobre o resultado assinado. Use os métodos na classe HttpRequestAuthedData para interagir com o resultado assinado. Consulte API HttpRequestAuthedData. |
Este exemplo cria uma solicitação e obtém um registro de credencial para passar para a API RequestAuthAPI. O método generateAuth() assina a solicitação.
// 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()
Retorna o registro de credencial usado para assinar a solicitação.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| AuthCredential | Objeto. Dados a serem usados para obter informações sobre o registro de credencial usado para assinar a solicitação. Use os métodos na classe AuthCredential para interagir com a credencial. Consulte API AuthCredential. |
// 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()
Retorna o objeto HttpRequestData que foi usado para instanciar a classe RequestAuthAPI.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| HttpRequestData | Objeto. Contém a solicitação REST não assinada. Use os métodos na classe HttpRequestData para interagir com a solicitação. Consulte API HttpRequestData. |
// 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());
Saída:
Endpoint is: https://third-party-endpoint
RequestAuthAPI - reinicializarAuthCredential()
Gera um token de privilégio temporário e limitado que você pode usar para fornecer aos usuários confiáveis credenciais de segurança temporárias para controlar recursos de terceiros.
Para usar este método, o serviço de terceiros deve incluir uma API ou SDK que processe e gerencie tokens de acesso limitado.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| vazio |
// 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');
}