Utilizzo dell'ID Claris per l'autenticazione esterna

Per utilizzare FileMaker Data API, FileMaker Admin API o OData API con FileMaker Cloud, è necessario eseguire l'autenticazione utilizzando l'ID Claris (non un account IdP esterno). 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 Claris:

  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/2.2.0.my.claris.com.json

    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-cp-global.ifmcloud.com/2-2",
            "FCC_Host": "console.claris.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 Claris (Claris_ID_token) e il token di aggiornamento ID Claris (Claris_ID_refresh_token).

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

Note 

  • Per utilizzare le chiamate API FileMaker con FileMaker Cloud, è necessario prima di tutto eseguire l'autenticazione utilizzando l'ID Claris e recuperare i token di sessione richiesti. I token sono validi per un'ora. Superata un'ora dall'ultima autenticazione tramite ID Claris, è possibile che le chiamate API falliscano e venga visualizzato l'errore 401. Per risolvere il problema, autenticarsi di nuovo con l'account ID Claris e recuperare nuovi token di sessione.

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 Claris e la password

  • le quattro righe che iniziano con mfaRequired sono necessarie solo quando l'autenticazione a più fattori (MFA) è abilitata per l'ID Claris

  • il codice è stato tratto da esempi forniti da Amazon (vedere Accesso ai pool di utenti utilizzando il kit SDK Amazon Cognito Identity per JavaScript).

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 Claris_ID_token = result.idToken.jwtToken;
        var Claris_ID_refresh_token = result.refreshToken.token;
    },
    onFailure: function(err) {
        alert(err);
    },
    mfaRequired: function(codeDeliveryDetails) {
        var verificationCode = prompt('Inserire il codice di verifica' ,'');
        cognitoUser.sendMFACode(verificationCode, this);
    }
});