RequestAuthAPI : incluse dans le périmètre
L’API RequestAuthAPI() fournit des méthodes permettant d’appliquer une signature à une demande REST.
- HttpRequestData : générer la demande d’API.
- AuthCredential : créez un objet d’informations d’identification ou mettez à jour un objet existant. Utilisez les informations d’identification pour signer la demande via la classe RequestAuthAPI .
- RequestAuthAPI : signez la demande et renvoyez un objet HttpRequestAuthedData.
- HttpRequestAuthedData : obtenir des informations sur la demande signée.
- GlideHTTPRequest : envoyez la demande signée.
Avant d’utiliser ces API, vous devez configurer un algorithme d’authentification pour signer la demande et l’associer aux informations d’identification utilisées pour authentifier la demande.
Utilisez cette API dans les scripts inclus dans le périmètre avec l’identificateur d’espace de noms sn_auth.
RequestAuthAPI : RequestAuthAPI (données de l’objet, informations d’identification de l’objet)
Instancie un objet RequestAuthAPI à l’aide d’une demande REST et d’informations d’identification.
| Nom | Type | Description |
|---|---|---|
| données | Objet | Objet HttpRequestData qui contient la demande REST non signée. Utilisez la classe HttpRequestData pour créer cet objet. Consultez l’API HttpRequestData. |
| Credential | Objet | Objet qui représente un enregistrement de la table Informations d’identification [discovery_credentials]. Récupérez cet objet à l’aide de la classe AuthCredential . Consultez l’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()
Signe l’objet HttpRequestData et renvoie un objet HttpRequestAuthedData à utiliser pour envoyer la demande REST.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| HttpRequestAuthedData | Objet. Données à utiliser pour obtenir des informations sur le résultat signé. Utilisez les méthodes de la classe HttpRequestAuthedData pour interagir avec le résultat signé. Consultez l’API HttpRequestAuthedData. |
Cet exemple crée une demande et obtient un enregistrement d’informations d’identification à transmettre à l’API RequestAuthAPI . La méthode generateAuth() signe ensuite la requête.
// 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()
Renvoie l’enregistrement des informations d’identification utilisé pour signer la demande.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| AuthCredential (Informations d’identification auth) | Objet. Données à utiliser pour obtenir des informations sur l’enregistrement d’informations d’identification utilisé pour signer la demande. Utilisez les méthodes de la classe AuthCredential pour interagir avec les informations d’identification. Consultez l’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()
Renvoie l’objet HttpRequestData utilisé pour instancier la classe RequestAuthAPI .
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Données de demande de données | Objet. Contient la demande REST non signée. Utilisez les méthodes de la classe HttpRequestData pour interagir avec la requête. Consultez l’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());
Sortie :
Endpoint is: https://third-party-endpoint
RequestAuthAPI : resetAuthCredential()
Génère un jeton de privilège temporaire et limité que vous pouvez utiliser pour fournir aux utilisateurs approuvés des informations d’identification de sécurité temporaires pour contrôler les ressources tierces.
Pour utiliser cette méthode, le service tiers doit inclure une API ou un SDK qui traite et gère les jetons d’accès limités.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| nul |
// 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');
}