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
etemail
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ètre | Type | Description |
---|---|---|
partnerUserId | string | Identifiant de l'utilisateur |
prismoId | string | Identifiant PRISMO de l'utilisateur actuel |
application | "AURA" / "HELIO" / "APP" | Questionnaire ou application de redirection |
finish | boolean | true indique que le questionnaire est terminé, sinon false |
redirectTo | URL | URL vers laquelle l'utilisateur doit être redirigé pour passer le questionnaire |
nonce | string | Identifiant 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ètre | Type | Description |
---|---|---|
partnerUserId | string | Identifiant de l'utilisateur |
string | Email de l'utilistateur | |
application | "AURA" / "HELIO" / "APP" | Questionnaire ou application PRISMO |
nonce | string | Identifiant 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 :
- Exécuter la mutation connect
- Stocker la valeur de nonce retournée
- Rediriger l'utilisateur selon la valeur de redirectTo
- 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.