Documentation

  1. Introduction
  2. Premiers pas
    1. Installation
    2. Créer une application
  3. Implémentation
    1. Bouton de connexion
      1. Par défaut
      2. Alternative
      3. Pensez à l'accessibilité
      4. Exemple de code
    2. Acquisition des données
      1. Introduction
      2. Appel API
      3. Réponse API lors de l'inscription
      4. Que faire avec la réponse ?
      5. Lors des connexions suivantes
    3. Résumé en image
    4. Faites attention à l'absence de mot de passe
    5. Exemples
  4. Questions fréquentes
  5. Chez moi cela ne fonctionne pas correctement, que faire ?

Introduction

JustAuthMe est un fournisseur d'identité en ligne fonctionnant sans le besoin d'aucun mot de passe. Nous permettons à tout un chacun de se connecter sans effort à n'importe quel site web utilisant notre solution. Nous fournissons une application mobile à nos utilisateurs et une API à nos clients qui souhaitent intégrer la solution à leur site web.

Véritable alternative respectueuse de la vie privée aux différents systèmes de connexion des réseaux sociaux, JustAuthMe innove en supprimant entièrement le concept du mot de passe. Nos utilisateurs sont authentifiés par les systèmes biométriques de leur smartphones et nos clients s'assurent d'acquérir des utilisateurs humains avec des informations authentiques vérifiées et via un processus simplifié à l'extrême. Une vidéo de présentation est disponible sur Youtube.

Premiers pas

Installation

JustAuthMe ne nécessite aucune installation particulière car un bouton vers un lien spécifique et un appel à notre API suffisent à faire fonctionner la solution. Nous avons néanmoins mis en place des SDK pour certains des langages les plus utilisés, que vous trouverez ci-dessous:

Créer une application

Pour fonctionner sur votre site, JustAuthMe a besoin d'avoir connaissance de votre site. Pour cela il va vous falloir créer une application sur notre console pour développeurs, disponible ici: https://developers.justauth.me. Pour créer une application JustAuthMe pour votre site, vous aurez besoin des éléments suivants:

  • Le nom de votre site
  • Un logo au format 512x512 px
    • À noter que dans l'application, le logo sera affiché sous forme de disque, les coins seront donc rognés
  • Le nom de domaine auquel répond votre site
  • Une URL de callback où seront envoyés les token d'accès aux informations des utilisateurs
    • Cette URL doit obligatoirement être au format HTTPS et se trouver sur le même nom de domaine que votre site

Vous serez ensuite amené à choisir quelles informations vous désirez obtenir d'un utilisateur. Actuellement, JustAuthMe propose les informations suivantes à ses clients:

  • Adresse E-Mail
  • Nom
  • Prénom
  • Date de naissance (au format jj/mm/aaaa)
  • Photo de profil (encodée en base64)

Pour chacune des informations choisies, vous pourrez rendre leur usage obligatoire ou facultatif. Chaque utilisateur désireux de se connecter à votre site via JustAuthMe sera informé des informations dont vous avez besoin, et pourra choisir de ne pas partager celles que vous avez rendues facultatives.

Une fois le processus complété, deux informations importantes vous seront communiquées:

  • Une clé d'API, secrète, à garder en lieu sûr
  • Une URL de connexion, publique, à laquelle vos futurs utilisateurs accèderont pour se connecter à votre site

Implémentation

Bouton de connexion

Par défaut

Une fois en possession de votre secret d'API et de votre URL de connexion, vous pouvez ajouter sur vos formulaires d'inscription et de connexion un bouton amenant l'utilisateur vers votre URL de connexion. Nous avons déjà fabriqué un bouton:

Se connecter avec JAM

Vous pouvez le télécharger ou directement l'intégrer depuis notre plateforme: https://static.justauth.me/medias/button.png

Alternative

Si vous ne souhaitez pas utiliser le bouton de connexion par défaut car celui-ci s'intègre mal dans votre charte graphique, vous pouvez élaborer votre propre bouton en suivant strictement les règles suivantes:

  1. Le texte du bouton doit être exactement "Se connecter Avec JustAuthMe"
  2. La couleur du texte du bouton doit être blanche (#FFFFFF)
  3. La couleur d'arrière-plan du bouton doit être exactement #3498DB

Pensez à l'accessibilité

N'oubliez pas d'inclure un attribut alt="Se connecter avec JustAuthMe" à la balise img contenant le bouton.

Exemple de code

<a href="https://core.justauth.me/auth?app_id=...&redirect_url=...">
    <img src="https://static.justauth.me/medias/button.png" alt="Se connectecter avec JustAuthMe" />
</a>

Acquisition des données

Introduction

Une fois la connexion confirmée par l'application, la page de connexion redirige l'utilisateur vers votre URL de callback, avec un paramètre GET access_token qui doit tout de suite être utilisé pour récupérer les informations de l'utilisateur courant et le connecter. Chaque access_token n'est valable que 60 secondes.

Appel API

Lors de la réception du access_token sur votre URL de callback, vous devez tout de suite faire un appel à https://core.justauth.me/api/data?secret=[votre secret]&access_token=[le access_token reçu].

Réponse API lors de l'inscription

Lors de la première utilisation de JustAuthMe par un utilisateur sur votre site, cet appel vous renverra une réponse au format JSON contenant les informations suivantes:

{
    "status": "success",
    "jam_id": "xxxxxxxxxx",
    "data1": "value1",
    "data2": "value2",
    "...": "..."
}
  1. status: Le status de la réponse (s'accompagne d'un statut HTTP 200 OK)
    1. Si le status vaut success, l'opération peut continuer
    2. Si le status vaut error, l'opération a échoué
  2. jam_id: Il s'agit de l'identifiant unique de l'utilisateur, il doit être conservé et utilisé comme point de repère lors des prochaines connexion
  3. données: Le reste de la réponse correspond aux données que vous avez choisi de demander à vos utilisateurs lors de la création de votre application JustAuthMe sur notre console pour développeurs.

À noter que si vous avez opter pour des données facultatives, vous devez vérifier leur présence dans la réponse de l'API, l'utilisateur pourrait avoir refusé de partager une ou plusieurs données avec vous, cela ne doit pas faire échouer l'inscription

Que faire avec la réponse ?

Les données reçues doivent être conservées de votre côté et traitées comme une inscription à votre site, un nouvel utilisateur doit être créé dans votre base de données et le jam_id reçu doit y être associé.

Lors des connexions suivantes

Les prochaines fois que le même utilisateur se reconnectera à votre site en utilisant JustAuthMe, vous recevrez également un access_token et vous devrez également faire l'appel api à /data. En revanche, l'API ne retournera que le jam_id et non pas la totalité des informations de l'utilisateur. C'est pourquoi il est important de traiter ces informations dès la première connexion et de créer un profil utilisateur associé. Le jam_id reçu lors de toutes les prochaines connexion vous servira à trouver lequel de vos utilisateurs vous devez connecter.

Résumé en image

Pour bien comprendre le fonctionnement de notre solution, voici le diagramme de séquence du parcours d'authentification:

Parcours d'authentification de JustAuthMe

Faites attention à l'absence de mot de passe

Comme notre solution est exempte de mot de passe, vous aurez probablement dans votre base de données un champ "mot de passe" laissé à vide pour les utilisateurs acquis via JustAuthMe. Il ne faut PAS que ce champ laissé vide permette un accès à ces comptes via votre formulaire de connexion sans renseigner de mot de passe. De la même manière, ne définissez pas un mot de passe par défaut pour ces comptes, il s'agit là d'une faille de sécurité majeure.

Exemples

Des exemples d'implémentation dans différents langages sont disponibles dans les SDK de ces derniers, listés plus haut.

Questions fréquentes

Le token d'accès aux données est-il réutilisable ?

Non. Le access_token reçu lors de chaque connexion est tout le temps différent et n'est valable que durant 60 secondes. Il ne sert qu'à valider l'appel API à https://core.justauth.me/api/data afin de récupérer les informations concernant l'utilisateur courant.

Quand dois-je connecter l'utilisateur ?

Dès que vous recevez le access_token, vous devez faire l'appel API à /data puis connecter l'utilisateur, le tout dans le même script / la même page.

Comment faire si j'ai besoin que l'utilisateur renseigne un pseudonyme ?

Comme nous ne pouvons pas prévoir à l'avance quel pseudonyme sera ou non disponible sur tel ou tel site, il vous appartient de demander à l'utilisateur de choisir un pseudonyme après sa première connexion via JustAuthMe.

Comment faire si l'utilisateur possède déjà un compte sur mon site ?

Pour répondre à cette problématique, vous devez lier le compte de cet utilisateur à son jam_id. Pour cela, il vous suffit de vérifier que l'adresse e-mail reçue lors de la première connexion avec avec JustAuthMe est présente dans votre base d'utilisateurs existants. Si tel est le cas, liez simplement le jam_id reçu à cet utilisateur. Pas d'inquiétude, les adresses e-mail que vous recevez ont été vérifiées en amont par JustAuthMe. Cela veut dire que si une adresse e-mail vous ai transmise, c'est qu'elle appartient bien à la personne qui souhaite se connecter à votre site. Vous pouvez donc lier cette personne à son compte existant.

Comment faire si je veux restreindre l'accès à mon site ?

Comme pour la problématique ci-dessus, c'est au niveau de l'adresse e-mail que cela se passe. Commencez par établir une liste des adresses e-mail autorisées à se connecter à votre site (peut-être tout simplement votre base actuelle d'utilisateurs). Une fois ceci fait, vous n'aurez plus qu'à vérifier que l'adresse e-mail reçue lors de la première connexion de chaque utilisateur via JustAuthMe correspond à une des adresses de la liste préalablement établie, puis à associer le jam_id reçu à cette adresse pour les prochaines connexions. Vous pouvez également imaginer un système d'invitations, là aussi basé sur l'adresse e-mail. Pas d'inquiétude, les adresses e-mail que vous recevez ont été vérifiées en amont par JustAuthMe. Cela veut dire que si une adresse e-mail vous ai transmise, c'est qu'elle appartient bien à la personne qui souhaite se connecter à votre site.

Comment faire si je souhaite me passer de JustAuthMe à l'avenir ?

Si vous comptez malheureusement nous quitter, les utilisateurs acquis grâce à JustAuthMe ne sont pas perdus ! Il leur suffira de passer par votre fonction "Mot de passe oublié" afin de leur permettre de définir un mot de passe propre à votre site et ainsi d'accéder à leur compte sans passer par notre application.

Chez moi cela ne fonctionne pas correctement, que faire ?

Si vous rencontrez des difficultés à implémenter JustAuthMe, n'hésitez pas à nous contacter à developers@justauth.me, nous nous ferons un plaisir de vous venir en aide !