Tâches avancées > Utilisation de FileMaker ID pour l'authentification externe
 

Utilisation de FileMaker ID pour l'authentification externe

Pour utiliser FileMaker Data API de Claris ou l'API OData avec FileMaker Cloud, vous devez vous authentifier avec votre FileMaker ID. FileMaker Cloud utilise Amazon Cognito pour l'authentification externe.

Amazon Cognito gère les utilisateurs dans des groupes d'utilisateurs en leur proposant des services du type connexion, authentification par l'intermédiaire de fournisseurs d'identité, annuaire d'utilisateurs, gestion des profils et surveillance de la sécurité. (Consultez Groupes d'utilisateurs Amazon Cognito.)

Pour vous authentifier avec FileMaker ID :

1. Récupérez les valeurs des paramètres UserPoolId et ClientId.

Amazon Cognito nécessite un paramètre UserPoolId et un paramètre ClientId pour authentifier les utilisateurs. FileMaker Cloud fournit le point de terminaison suivant :

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

Le point de terminaison renvoie les résultats suivants :

{
"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
}

Remarque  Les valeurs Region et API_Host renvoyées ne servent pas à l'authentification.

2. Utilisez le kit SDK Amazon Cognito Identity pour JavaScript pour authentifier un utilisateur via Amazon Cognito. (Consultez la section SDK Amazon Cognito Identity pour JavaScript.) Utilisez l'exemple ci-dessous dans votre code JavaScript pour récupérer les valeurs du jeton FileMaker ID (FileMaker_ID_token) et du jeton d'actualisation FileMaker ID (FileMaker_ID_refresh_token).

Le jeton FileMaker ID sert à vous authentifier lorsque vous utilisez l'API FileMaker Data ou l'API OData. Il est valable pendant une heure. Le jeton d'actualisation FileMaker ID permet aux scripts de continuer à s'exécuter une fois le jeton FileMaker ID arrivé à expiration. Il est valable pendant un an.

Exemple

Dans cet exemple :

les valeurs UserPool_ID et Client_ID citées plus haut sont utilisées

pour nomutilisateur et motdepasse, saisissez le nom d'utilisateur FileMaker ID et le mot de passe

Exemple de code :

var authenticationData = {
Username : 'nomutilisateur',
Password : 'motdepasse',
};
var authenticationDetails = new AmazonCognitoIdentity.AuthenticationDetails(authenticationData);
var poolData = { UserPoolId : 'us-west-2_NqkuZcXQY',
ClientId : '4l9rvl4mv5es1eep1qe97cautn'
  };
var userPool = new AmazonCognitoIdentity.CognitoUserPool(poolData);
var userData = {
Username : 'nomutilisateur',
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);
},
});