Operazioni avanzate > Utilizzo dell'ID FileMaker per l'autenticazione esterna
 

Utilizzo dell'ID FileMaker per l'autenticazione esterna

Per utilizzare Claris FileMaker Data API o OData API con FileMaker Cloud, è necessario eseguire l'autenticazione utilizzando l'ID FileMaker. FileMaker Cloud utilizza Amazon Cognito per l'autenticazione esterna.

Amazon Cognito gestisce gli utenti attraverso pool di utenti che forniscono servizi come accesso, autenticazione con provider di identità, gestione di profili e directory utente e monitoraggio della sicurezza (vedere Pool di utenti di Amazon Cognito).

Per eseguire l'autenticazione utilizzando l'ID FileMaker:

1. Recuperare i valori per i parametri UserPoolId e ClientId.

Amazon Cognito richiede uno UserPoolId e un ClientId per autenticare gli utenti. FileMaker Cloud fornisce il seguente endpoint:

https://www.ifmcloud.com/endpoint/userpool/
0.0.0.my.filemaker.com.jsonf

L'endpoint restituisce i seguenti risultati:

{
"errcode":"Ok",
"errmessage":null,
"data":{
"Region": "us-west-2",
"UserPool_ID":"us-west-2_NqkuZcXQY",
"Client_ID":"4l9rvl4mv5es1eep1qe97cautn",
"API_Host": "api-cloud-platform.ifmcloud.com",
"FCC_Host": "console.filemaker-cloud.com"
},
"csrid":null
}

Nota  I valori Region e API_Host restituiti non vengono utilizzati per l'autenticazione.

2. Utilizzare il kit SDK Amazon Cognito Identity per JavaScript per autenticare un utente tramite Amazon Cognito (vedere Kit SDK Amazon Cognito Identity per JavaScript). Utilizzare l'esempio di seguito con codice JavaScript per recuperare i valori per il token ID FileMaker (FileMaker_ID_token) e il token di aggiornamento ID FileMaker (FileMaker_ID_refresh_token).

Il token ID FileMaker viene utilizzato per l'autenticazione quando si utilizzano FileMaker Data API o OData API ed è valido per un'ora. Il token di aggiornamento ID FileMaker permette di continuare l'esecuzione degli script dopo che il token ID FileMaker è scaduto ed è valido per un anno.

Esempio

In questo esempio:

vengono utilizzati i valori UserPool_ID e Client_ID dell'esempio precedente

per nomeutente e password, inserire il nome utente ID FileMaker e la password

Codice di esempio:

var authenticationData = {
Username : 'nomeutente',
Password : 'password',
};
var authenticationDetails = new AmazonCognitoIdentity.AuthenticationDetails(authenticationData);
var poolData = { UserPoolId : 'us-west-2_NqkuZcXQY',
ClientId : '4l9rvl4mv5es1eep1qe97cautn'
  };
var userPool = new AmazonCognitoIdentity.CognitoUserPool(poolData);
var userData = {
Username : 'nomeutente',
Pool : userPool
};
var cognitoUser = new AmazonCognitoIdentity.CognitoUser(userData);
cognitoUser.authenticateUser(authenticationDetails, {
onSuccess: function (result) {
var Cognito_access_token = result.getAccessToken().getJwtToken();
var FileMaker_ID_token = result.idToken.jwtToken;
var FileMaker_ID_refresh_token = result.refreshToken.token;
},
onFailure: function(err) {
alert(err);
},
});