FUNIFIER - Authentication and Access - Français

Ce tutorielnous allons apprendre les différentes formes de joueurs authentification etcontrôle d'accès pour protéger vos données et gamificações. Le Funifier a été construit avecattention particulière àsécurité pour protéger vos données et gamificações. Vous pouvez également mettreœuvre votre propre système de sécurité pour tenir comptela structure etbesoins de votre organisation.protectionvos données est une responsabilité partagée entre vous et Funifier. Les caractéristiques de sécurité de Funifier vous permettentactiver vos joueurs etsystèmes interagissent avec leur gamificaçõestoute sécurité.

AUTHENTIFICATION

Authentification existe pour empêcheraccès non autorisé à votre gamification ou vos données, en vous assurant que chaque joueur ou application connectée estune qui prétendêtre. Le Funifier fournit des moyens pour authentifierutilisateurs. Créer une combinaison de méthodes d'authentification pour répondre aux besoins de votre organisation et l'utilisation de leurs normes joueurs.

JOUEURS AUTHENTIFICATIONMOT DE PASSE

Funifierpermetchaque joueur de votre gamification a un nomutilisateur et motpasse qui doit être informé chaque foisle journal du joueur dans gamification. Ce type d'authentification est une bonne option pour authentifier les joueurs directement dansplateforme gamification via côté client. Le jeton d'accès généré dans ce type d'authentification est un temps de session et vous pouvez contrôler le délaiattente desession du jeton. Regardons un exemple concret, supposonsvous créez un joueur avec connexion « ton » etmotpasse « 123 » dans la session « joueurs » de Funifier Studio.

Pour vous forcerauthentification des joueurs utilisant ce nomutilisateur et motpasse, allez dans la zone de sécurité sur l'option « Lecteurauthentification » et activer le « Motpasse requis ».

Vous êtes maintenant prêt à authentifier le joueurtravers le reste de Funifier api. Ouvrez le postier etauthentifier le joueur informant apikey, login et motpasse comme indiqué cidessous:

Le auth / jeton de point final va générer le jeton d'accès d'un joueur. Dans cet exemplenous faisons la demande queinformations cidessous. Contrairementautres paramètres qui nécessitent un jeton dans l'tête d'autorisation de la demande, il va générer votre jeton.

POST https://service2.funifier.com/v3/auth/token
Content-Type: application / x-www-form-urlencoded
apiKey 5b3d7d9efac1264e4647fb0f = & username = password = & Tone 123 = & mot de passe grant_type

CommeAPI résultat Funifier doit retourner le jeton d'accès, le type de jeton "porteur" etdate d'expiration est7 jours par défautcomme indiqué cidessous:

{
   "access_token" "eyJhbGciOiJIUzUxMiIsImNhbGciOiJHWklQIn0.H4sIAAAAAAAAAC3KQQ7CIBBA0bvMmkWRAdJewUM0UxgMCToEMdo0vbvEuHw__wCq-co7LGA3E32cOVHQF4eMDn3apgQKaqGd23i63AefQSoPNaa4Uinq3XLnlULP8ihy-_tVi1Acf6YOi7Zm8tZrdAr4U39BG6dndOcXIwnGyIYAAAA.Bl2Gchy9pzZq_wkyfgFf8zsJwzoMGlJ6BFDJjwUW5pFtCZZHB0tNNYwQej545540ABQjOyk7iA009CD1CaM3Gw"
   "token_type", "porteur",
   « expires_in « :
1531361946727}

désormaisvous pouvez effectuerdemandesutilisant ce jeton. Nous avons accèsl'api indiquantnouveau ce jeton pour faire une enquête sur le critèreévaluation des joueurs. Notez que le jeton avant esttype rapporté « Bearer ».

une des choses intéressantes ce jeton est qu'il est nommé,savoir qu'il saitle joueur est authentifié. Avec ce jetonvous pouvez utiliser le mot réservé « moi » dans tousparamètres de demande dans le reste api où vous devez informer l'ID de l'utilisateur connecté.

GET http://service2.funifier.com/v3/player/me

Autorisation: Bearer eyJhbGciOiJIUzUxMiIsImNhbGciOiJHWklQIn0.H4sIAAAAAAAAAC3KQQ7CIBBA0bvMmkWRAdJewUM0UxgMCToEMdo0vbvEuHw__wCq-co7LGA3E32cOVHQF4eMDn3apgQKaqGd23i63AefQSoPNaa4Uinq3XLnlULP8ihy-_tVi1Acf6YOi7Zm8tZrdAr4U39BG6dndOcXIwnGyIYAAAA.Bl2Gchy9pzZq_wkyfgFf8zsJwzoMGlJ6BFDJjwUW5pFtCZZHB0tNNYwQej545540ABQjOyk7iA009CD1CaM3Gw

Quelques caractéristiques importantes du motpasse du joueur authentificationjeton.

Expire

Ce jeton arriveexpiration, il est idéal pourintégrations côté client. Mais une fois délivré sera valable jusqu'à leur expiration. Même si vous supprimez le lecteur, changer le motpasse ou supprimer le rôle de la zone de sécurité du studio funifier le jeton continuerafonctionner.

nominale

autrecaractéristique de ce jeton est qu'il est nominale, il sait exactement quel joueur est associé. Pour cette raisonle mot réservé « moi » peut être utilisé avec ce type de jeton.

champapplication défini àauthentification

Lejetona ses autorisations d'étendue chargées au moment degénérationjeton. Cela signifie que même si vous modifiez la portée de l'application, les informationsidentification client jeton continuera avec les autorisations reçues lorsque le jeton a été créé.

Mais ce jeton n'a que des autorisationsbase. Par exemplevous ne serez pas en mesure d'exclure un joueur utilisant ce jeton d'accès. Voir l'exemple cidessous:

Comme ce jeton n'a pasautorisation pour ce type d'opérationla réponse est la suivante:

{
   « message »: « Vous n'avez paspermission de supprimer dans endpoint de lecteur, vous devez delete_player_tom ou delete_all accès àfaire »,
   « Code « :
   401, »type « : » non autorisée
« }

Lorsque le jetonexpiré vous recevez également un message indiquant que vous ne disposez plusautorisation,dessousl'échantillonretournémessage après l'expiration du jeton.

{
   « Message »: « jeton périmé ou format non valide »,
   « code »: 401,
   « type »:
« non autorisée »}

JOUEURS de contrôle d'accès
Par joueur d'authentificationdéfautpar motpasse, génère un jeton avecexpiration en 7 jours et autorisationlecture sur tousobjets etjournaux d'action d'écriture. Mais vous pouvez modifier cette configuration deétendue d'accès et délai de session dans la section de sécurité> rôles studio funifier. Cliquez sur le bouton jaune pour ajouter un nouveau réglage par défaut pour les joueurs. Cidessousle réglage par défaut du rôle « joueur ».

Le champ d'expiration de session, reçoit une expression composite de deux éléments:

nombre

« 7 »

Unité de temps

« d »

Les unités de temps suivantes sont prisescharge dansexpressions de délaiattente de session.

Unitétemps

clé

Année(Année)

y

Mois (Mois)

M

(semaine)

w

Jour (Jour)

d

Heure(Heure)

h

Minute(minute)

m

Segundo (deuxième)

s

Le champ de portée détermine les critèresévaluation etopérations peuvent être effectué sur chacun d'eux.accès aux déclarations sont également composé de deux éléments.

Opération

« read », « écrire », « supprimer »

Endpoint

« àll » pour touspointsextrémité, ou vous pouvez entrer un point final « action » spécifique. Si vous souhaitez informer un point final avec juste séparer chaque sousniveaux élément ou sous-niveau « action_log » « _ » exemple.

Voiciquelques exemples de champsapplication qui peuvent être déclarés sur un rôle dans funifier:

Expression

Résultat

read_all, write_action_log

permetlecture tousparamètres, écrirejournaux d'action.

read_player_me, read_challenge

permetlecture que les données personnelles du joueur, aucun autre enregistrement d'autres joueurs peut être lu, et vous permet de lire le point final de défis.

Si vous souhaitez autoriseraccès à toutesméthodespartirun certain niveau d'un point finalvous pouvez utiliser le suffixe (_all). Cidessousquelques exemples d'utilisation:

Expression

Résultat

read_all

Vous permet de lire touspointsextrémité

read_player_all

permetlecturetout critèreévaluation qui commencent avecjoueur. Par exemple, lecteur / moi, lecteur / 123456 / état, etc.

write_action_all

permetécriredonnées sur un point final qui commence par action. Pour exempleaction,action / log, action / log / global, action / log / fréquence, action / log / vracetc.

champ d'accès est défini au moment degénérationjetons, si après avoir généré le jeton vous modifiez les paramètres de portée dans un rôle qui ne touche pasjetons déjà générés,quicontinué avec les autorisations établies quand ils ont été générés. Après avoir généré le jeton l'utilisateur aura accès à la portée existante au moment degénérationjetons jusqu'à son expiration.

RÔLES DECREATION POURJOUEURS
Si vous devez donnerautorisations spéciales pour un joueurparticulier, vous pouvez créernouveaux rôles dans le domaine desécurité et attribuer ces rôles aux joueurs souhaités. Supposonsvous devez créer un rôle d'administrateur avecautorisations de lecture,écriture etexclusion dans touspointsterminaison. Doncvous pourriez avoir un rôle aux joueurs en général etautres rôle admin.

Après avoir créé votre rôle, vous pouvez enregistrer le joueur dans le rôle « admin », pour celavous aurez besoinun jeton avecpermission write_role_assign,comme indiqué cidessous:

POSThttp://service2.funifier.com/v3/role/assign

Contenu-type: application / json
autorisation: Basic NWIzZDdkOWVmYWMxMjY0ZTQ2NDdmYjBmOjViM2Q4Y2U0ZmFj

{
        « joueur », « ton »,
        « rôle »,
« admin »}

la logique d'attributionautorisations etdéfinir le délai de session pour un joueur qui authentifie l'funifier est la suivante sijoueur n'a pas un rôle spécifique lié à, puis utilisez la funifier de défilement « joueur », s'il n'y a pasrôle « joueur »alors le funifier génère un rôle par défaut. S'il y a un rôle avec le même identifiant du joueuril sera utilisé. Si vous avezrôles liés au joueur, ils accumuleront toutesautorisations de toutesétendues de tousrôles qui luiliés et le délaiattente de session est le délaiattenteplus bas desession des rôles liés au joueur. Si vous voulez supprimer un rôle d'un joueurvous pouvez exécuter déclencher le rôle de point de terminaison / affecter la méthodesuppression comme exemple cidessous.

SUPPRIMER http://service2.funifier.com/v3/role/assign

Content-Type: application / JSON
Autorisation: Basic NWIzZDdkOWVmYWMxMjY0ZTQ2NDdmYjBmOjViM2Q4Y2U0ZmFj

{
        "joueur", "ton",
        "rôle",
"admin"}

APPLICATION CREATION

Funifier permet la création d'applications qui peuvent être utilisées pour intégrersystèmes avec Funifier.applications permettentfournirjetons à utiliser avec les API de Funifier.plusles applications permettentadministrateursétablir Funifier des différentes politiques de sécurité et ontcontrôle explicite sur ce qui peut être consulté par chaque application. Ceci est une bonne option pour authentifierserveurs et effectueropérations côté serveur. Pour configurer une application et ses politiques de sécurité en matièresécurité d'accès funifier> Général> Applications. Et cliquez sur le bouton jaune pour créer une nouvelle application. Voir l'exemple cidessous.

En créant une nouvelle applicationvous devez entrer le nom deapplication etportée d'accès aux applications. Le système génère une clé secrète pour accéder au api avec l'application.

APPLICATIONScontrôleaccès
LeFunifier fournit un accès au système de gestion de données flexible qui vous permetdéterminer les ensemblesdonnées est accessible parjoueurs et par chacune des applications créées, afinutilisateurs puissent faire leur travail sans voirdonnées vous n'avez pas besoinvoir. Utilisezensembles d'autorisations pourapplications pour spécifier les objets que toutmonde peut accéder. Utilisezparamètres de partagetravers la gamification pour spécifier les objets queutilisateurs peuvent afficher, créer, modifier ou supprimer.

Pour définir l'accès qu'une application particulière a vous devez saisir « portée »la même manière quese fait dans les rôles. Par défaut, lorscréationune nouvelle applicationle système accorde automatiquementautorisations « read_all, write_all, delete_all ».

APPLICATION AUTHENTIFICATION

Il y a deux façons d'authentifier avec une application. Vous pouvez utiliser l'authentificationbase ou les informations d'authentification du client.deux utilisent le apikey et secret commeinformationsidentification pourauthentification. Chacun a ses propres particularités.

AUTHENTIFICATION D'APPLICATION DE BASE AUTH

L'authentificationbase implémente la spécification (RFC2617), vous pouvez obtenir plusdétails sur ce type d'authentification https://tools.ietf.org/html/rfc2617. Pour utiliserauthentificationbasevous avez besoin du apikey son gamification et l'application secrète que vous avez créé dans le domaine desécurité. Ouvrez le postier etonglet Autorisation, choisissez le type « Basi Auth ». Entrez le champ Nom d'utilisateur et votre apikey dans le champ Motpassevotre App secret.

En cliquant sur « Envoyer » le postier va générer le type de jetonbase et remplir l'tête de demande à la clé d'autorisation. Le processus pour générer le jetonbase est la suivante:abord concaténer les apikey et App secret, y compris « : » entre les deux valeurs; Après résultat d'encodage base64; Puis ajouter le préfixe « Basic » au résultat pour obtenir le jeton; Enfin inclure le jeton dans l'tête dedemande avec la touche « Autorisation ». Enconséquencenous avons une demande comme indiqué cidessous:

GET http://service2.funifier.com/v3/player/tom

Autorisation: base = NWIzZDdkOWVmYWMxMjY0ZTQ2NDdmYjBmOjViM2Q4Y2U0ZmFj

Certaines caractéristiques importantes de la basejeton.

Jamais Expire

le typebase du jeton expire jamais, il est idéal pourintégrations côté serveur. Si vous devez désactiver un jetonbase, vous devez supprimer l'application dans la zone de sécurité du studio funifier

Anonymous

autre caractéristique du jetonbase est qu'il n'a pasnoté, il y a un lecteur spécifique qui luiassocié. Pour cette raisonle mot réservé « moi » ne fonctionne pas avec ce type de jeton.

Portée toujours vérifiée

Le typejetonbase a ses autorisations de portée toujours rechargées chaque demande. Cela signifie que le momentchanger l'étendue d'une application, le jetonbase ont déjà ces autorisations appliquées instantanément.

AUTHENTIFICATION D'APPLICATION AVEC CLIENT

L'ACCRÉDITATIONFunifier implémente OAuth2.0 d'authentification supportantinformationsidentification de clients (RFC6749). Ce type d'authentification est parfait pourimplémentations côté serveur. Cette authentification est très similaire à l'authentification du lecteur,qui génère un jeton qui expirera, mais il utilise le apikey et secret. Voir plusdétails surinformationsidentification OAuth de spécification d'authentification client dans http://tools.ietf.org/html/rfc6749#page-40

Maintenantnous allons authentifie l'applicationtravers le reste de Funifier api. Ouvrez le postier etauthentifierindiquant dans le « client_id » la valeur de votre apiKey, dans la « client_secret » la valeur de votre secret App et « grant_type » la valeur de client_credentials, comme indiqué cidessous:

Le critèreévaluation auth / jeton génère un jeton accès à l'application. Dans cet exemplenous faisons la demande queinformations cidessous. Contrairementautres paramètres qui nécessitent un jeton dans l'tête d'autorisation de la demande, il va générer votre jeton.

POST https://service2.funifier.com/v3/auth/token
Content-Type: application / x-www-form-urlencoded
& client_id = 5b3d7d9efac1264e4647fb0f client_secret = 5b3d8ce4fac1264e4647fe46 & grant_type = client_credentials

CommeAPI résultat Funifier doit retourner le jeton d'accès, le type jeton "porteur" etdate d'expiration est7 jours par défautcomme indiqué cidessous:

{
   "access_token" "eyJhbGciOiJIUzUxMiIsImNhbGciOiJHWklQIn0.H4sIAAAAAAAAAFXMTQrCMBQE4KtI1lm8l5-2egWXHqCkyQQCAUMsWBHv3od142YYho95q9DKFS91UX6xaUxn5BDZDA5ucGNeKCstpt0QO9YfmyLcH5MU9oj3BiEdIc2hVn169rLiqAkVRxdZglyxtzSRt4a0wta-AzsmNvTZAckgmN6YAAAA.YHKgs5SkboktsAjCYzbdjTDLaBRd2nTijm2NDtzWcsIXTU-W7dBfJgTIcUWtHQAnUsj38jpsCJCwngGzYNpobQ"
   "token_type", "porteur",
   « expires_in « :
1531410120877}

désormaisvous pouvez effectuerdemandesutilisant ce jeton. Nous avons accèsl'api indiquantnouveau ce jeton pour faire une enquête sur le critèreévaluation des joueurs. Notez que le jeton avant esttype rapporté « Bearer ».

Quelques caractéristiques importantes de authentification du client jeton.

Expire

Le jeton type de porteur expire, il est idéal pourintégrations côté serveur. Mais une fois délivré sera valable jusqu'à leur expiration. Même si vous supprimez l'application dans la zone de sécurité du studio funifier le jeton continuerafonctionner.

Anonyme

autre caractéristique des informations d'identification de client est jeton qu'il n'a pasnoté, il n'y a aucun joueur spécifique associé. Pour cette raisonle mot réservé « moi » ne fonctionne pas avec ce type de jeton.

Champapplication défini dansd'authentification

les informationsidentification du clienttypejetona ses autorisations au chargé au moment dejetons.génération Cela signifie que même si vous modifiez la portée de l'application, les informationsidentification client jeton continuera avec les autorisations reçues lorsque le jeton a été créé.

EXEMPLE: JOUEURS INSCRIVANT

montrer comment créer une routine sûre pour enregistrerjoueurs à une page publique,donnant l'accès minimum nécessaire pour enregistrer un objet registration__c personnalisé et réaliser la validation appropriée, paramètre de mot de passe etenregistrement joueurutilisant un déclencheur.

Exemple: logout AUTO TOKEN EXPIRATION

présente la stratégie utilisée dans les adidas après chaque accès api pour vérifier la validité du jeton,observant la réponse des demandes. Et si le jeton a expiré journal àaidel'API JavaScript.

Exemple: MOTPASSE RÉCUPÉRER

Afficher en récupérer le motpasse d'un joueur par courrier électronique,utilisant la routine funifier automatique pour envoyer un code pour réinitialiser le motpasse du joueur.