Använda Claris-ID för extern autentisering
Om du vill använda FileMaker Data API, FileMaker Admin API eller OData API med FileMaker Cloud måste du autentisera dig med ditt Claris-ID-konto (inte med ett konto från en extern IdP). FileMaker Cloud använder Amazon Cognito för extern autentisering.
Amazon Cognito hanterar användare via user pools (användarpooler) som tillhandahåller tjänster som inloggning, autentisering med identitetsleverantörer, användarkatalogs- och profilhantering samt säkerhetsövervakning. (Läs mer om Amazon Cognito och user pools.)
Så här autentiserar du dig med Claris-ID:
-
Hämta värden för parametrarna UserPoolId och ClientId.
Amazon Cognito kräver ett UserPoolId och ett ClientId för att autentisera användare. FileMaker Cloud tillhandahåller följande slutpunkt:
https://www.ifmcloud.com/endpoint/userpool/2.2.0.my.claris.com.json
Slutpunkten returnerar följande resultat:
{ "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 }
Obs! De returnerade värdena Region och API_Host används inte för autentisering.
-
Använd Amazon Cognito Identity SDK för JavaScript för att autentisera en användare via Amazon Cognito. (Mer information finns i Amazon Cognito Identity SDK för JavaScript.) Använd exemplet nedan i din JavaScript-kod för att hämta värdena för Claris-ID-token (
Claris_ID_token
) och Claris-ID-uppdateringstoken (Claris_ID_refresh_token
).Claris-ID-token används för autentisering när du använder FileMaker Data API, FileMaker Admin API eller OData API, och den är giltig i en timme. Claris-ID-uppdateringstoken gör att script kan fortsätta att köras efter det att Claris-ID-token blivit ogiltig, och uppdateringstoken är giltig i ett år.
Kommentarer
-
Om du vill använda FileMaker API-anrop med FileMaker Cloud måste du först autentisera med ditt Claris-ID-konto och hämta de sessionstoken som krävs. Dessa token är giltiga i en timme. Om det har gått mer än en timme sedan den senaste Claris-ID-autentiseringen kan API-anrop misslyckas och visa ett 401-fel. Lös detta problem genom att autentisera igen med Claris-ID-kontot och hämta nya sessionstoken.
Exempel
I detta exempel:
-
värdena
UserPool_ID
ochClient_ID
från ovan används -
för
användarnamn
ochlösenord
anger du Claris-ID-användarnamnet och lösenordet -
de fyra rader som börjar med
mfaRequired
behövs endast när multifaktorsautentisering (MFA) är aktiverat för Claris-ID -
koden kommer från exempel som tillhandahållits av Amazon (Se Få åtkomst till dina användarpooler med Amazon Cognito Identity-SDK för JavaScript.)
Exempelkod:
var authenticationData = { Username : 'användarnamn', Password : 'lösenord', }; var authenticationDetails = new AmazonCognitoIdentity.AuthenticationDetails(authenticationData); var poolData = { UserPoolId : 'us-west-2_NqkuZcXQY', ClientId : '4l9rvl4mv5es1eep1qe97cautn' }; var userPool = new AmazonCognitoIdentity.CognitoUserPool(poolData); var userData = { Username : 'användarnamn', 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('Ange verifieringskod' ,''); cognitoUser.sendMFACode(verificationCode, this); } });