Guides
Authentification
Demande autorisation

Demande d'autorisation d'accès aux données de l'utilisateur

Afin d'accéder aux données Aura ou Helio d'un utilisateur, il faut que l'utilisateur final autorise l'application partenaire à accéder à ses données.

Pour cela l'application partenaire doit exectuer la mutation connect :

mutation PartnerConnect($data: JSON) {
    connect(strategy: PARTNER, data: $data) {
        redirectTo
        nonce
    }
}

Avec pour variable $data un objet JSON contenant:

{
    // Questionnaire vers lequel l'utilisateur sera rediriger
    // après avoir accepter le partage de ses données
    "application": "AURA" | "HELIO" | "APP",
    // Identifiant de l'utilisateur au sein de votre application
    // Doit être unique
    "partnerUserId": string,
    // Adresse email de l'utilisateur
    "email": string,
 
    // Prénom de l'utilisateur (Optionnel)
    "firstName": string,
    // Nom de l'utilisateur (Optionnel)
    "lastName": string,
 
    // Si la valeur est `true`, permet de repasser le questionnaire Aura (Optionnel)
    "redoAura": boolean
}
💡

Les propriétés firstName et lastName sont optionnelles. Si elles ne sont pas fournies, l'utilisateur sera redirigé vers notre formulaire d'inscription afin de compléter ses données, sinon il sera directement redirigé vers la page d'autorisation.

L'API retourne un ConnectPayload avec une propriété redirectTo. Il sagit de l'URL vers laquelle votre application doit rediriger l'utilisateur.

L'URL fournit par le champ redirectTo peut avoir plusieurs valeurs :

Cas 1 : L'utilisateur a déjà autorisé le partenaire

redirectTo prend pour valeur l'URL du questionnaire fournit en paramètre de mutation. L'utilisateur doit être redirigé sur l'application et pourra répondre au questionnaire.

Cas 2 : L'utilisateur n'a pas autorisé le partenaire

redirectTo prend pour valeur l'URL du formulaire d'inscription/connexion PRISMO afin que l'utilisateur puisse passer les questionnaires.

Inscription

L'utilisateur doit renseigner : nom, prénom, email, mot de passe et accepter les CGU. Il est ensuite redirigé vers un écran d'autorisation de l'application partenaire qu'il doit accepter pour continuer le parcours.

Connexion

L'utilisateur doit renseigner : email et mot de passe valide afin de se connecter à son compte. Il est en suite redirigé vers un écran d'autorisation de l'application partenaire qu'il doit accepter pour continuer le parcours.

Écran d'autorisation

  • Si acceptation : il est redirigé vers l'URL de succès de l'application partenaire.
  • Si refus : il est redirigé vers l'URL de refus de l'application partenaire avec en paramètre partnerUserId et email obtenu lors de la mutation connect

Si Inscription Lors d'une inscription, la création du compte PRISMO ne s'effectue si et seulement si l'utilisateur final autorise l'application partenaire d'accéder à ses données. En cas de refus, aucun compte n'est créé.

L'utilisateur vient d'autoriser l'application partenaire

L'utilisateur est redirigé vers l'URL de succès de l'application partenaire avec plusieurs paramètres :

ParamètreTypeDescription
partnerUserIdstringIdentifiant de l'utilisateur
prismoIdstringIdentifiant PRISMO de l'utilisateur actuel
application"AURA" / "HELIO" / "APP"Questionnaire ou application de redirection
finishbooleantrue indique que le questionnaire est terminé, sinon false
redirectToURLURL vers laquelle l'utilisateur doit être redirigé pour passer le questionnaire
noncestringIdentifiant de session de la mutation connect

Format de l'URL :

https://example.com/success?partnerUserId=<string>&prismoId=<string>&redirectTo=<url>&application=<AURA|HELIO|APP>&finish=<boolean>&nonce=<string>

PRISMO_ID Cette étape permet au partenaire de récupérer l'identifiant PRISMO de l'utilisateur (prismoId). Cet identifiant sera utilisé plus tard.

L'utilisateur vient de refuser l'application partenaire

L'application partenaire doit confirmer à l'utilisateur que l'autorisation à été bien refusé.

ParamètreTypeDescription
partnerUserIdstringIdentifiant de l'utilisateur
emailstringEmail de l'utilistateur
application"AURA" / "HELIO" / "APP"Questionnaire ou application PRISMO
noncestringIdentifiant de session de la mutation connect

Format de l'URL :

https://example.com/cancel?partnerUserId=<string>&email=<string>&application=<AURA|HELIO|APP>&nonce=<string>

Sécurité - Vérifier la provenance de l'utilisateur

L'objet ConnectPayload propose une propriété nonce. Cette propriété vous permet de vérifier que l'utilisateur provient bien de la plateforme PRISMO. Pour cela, vous devez :

  1. Exécuter la mutation connect
  2. Stocker la valeur de nonce retournée
  3. Rediriger l'utilisateur selon la valeur de redirectTo
  4. Au retour de l'utilisateur sur votre plateforme, récupérer la paramètre nonce de l'URL et le comparer à celle précédemment stocker :
    • Si les valeurs sont strictement égales, l'utilisateur provient de la plateforme PRISMO et la même session de connexion
    • Si les valeurs sont différentes, la procédure est corrompue

La propriété nonce À chaque exécution de la mutation connect, la propriété nonce change de valeur. La nouvelle valeur nonce devient la valeur de référence.

Diagramme séquence des requêtes