|
|
@@ -30,7 +30,7 @@ Toutes les URLs mentionnées ici ont une version équivalente de test :
|
|
|
|
|
|
Pour lier une Organization à son compte Helloasso :
|
|
|
|
|
|
-1. Se connecter à HelloAsso : un bouton "se connecter avec HelloAsso" est présent sur une page du logiciel. Il permet de rediriger l'utilisateur vers la page de connexion HelloAsso.
|
|
|
+1. Se connecter à HelloAsso : un bouton "se connecter avec HelloAsso" est présent sur une page du logiciel. Il permet d'afficher une popup contenant le formulaire de connexion HelloAsso.
|
|
|
2. Une fois identifié, Helloasso redirige le visiteur vers une page de callback dont on a fourni l'url au préalable. Ce retour s'accompagne d'un jeton d'autorisation HelloAsso que l'on récupère.
|
|
|
3. Grâce à ce jeton d'autorisation, on récupère auprès de l'API HelloAsso un jeton d'accès (durée de vie: 30min) et un jeton de renouvellement (durée de vie: 30jours).
|
|
|
4. Ce jeton d'accès est stocké en base, et sera ensuite attaché aux requêtes envoyées à l'API HelloAsso.
|
|
|
@@ -43,27 +43,28 @@ Par ailleurs, l'utilisateur peut :
|
|
|
|
|
|
#### Se connecter avec HelloAsso
|
|
|
|
|
|
-La [page HelloAsso](https://local.app.opentalent.fr/helloasso) du front (V2) donne accès à un bouton "se connecter avec HelloAsso".
|
|
|
+La [page HelloAsso](https://local.app.opentalent.fr/helloasso) du front (V2) donne accès à un bouton "Connecter à HelloAsso".
|
|
|
|
|
|
-Ce bouton permet de rediriger l'utilisateur vers la page de connexion HelloAsso : `https://auth.helloasso.com/authorize?<params>`
|
|
|
+Ce bouton permet d'afficher une popup contenant le forumaire de connexion HelloAsso : `https://auth.helloasso.com/authorize?<params>`
|
|
|
|
|
|
-On ajoute à cette URL une query composée des éléments suivants :
|
|
|
+On ajoute à l'URL de la page HelloAsso une query composée des éléments suivants :
|
|
|
|
|
|
* `client_id` : l'identifiant client Opentalent enregistré comme variable d'environnement.
|
|
|
* `redirect_uri` : l'url vers laquelle l'utilisateur sera redirigé après s'être authentifié.
|
|
|
* `code_challenge`: code challenge PKCE à générer en amont (voir : `OAuthPkceGenerator::generatePkce()`).
|
|
|
* `code_challenge_method` : méthode du test, doit être égal à "S256".
|
|
|
-* `state` : *optionnel, utilité à revoir*.
|
|
|
+* `state` : *optionnel, pas utilisé*.
|
|
|
|
|
|
-Une fois redirigé vers cette URL, l'utilisateur a accès à un formulaire de connexion lui permettant
|
|
|
-de se connecter à son compte Helloasso.
|
|
|
+Le formulaire ainsi affiché permet à l'utilisateur de s'authentifier sur HelloAsso, puis en cas de réussite, de
|
|
|
+confirmer vouloir lier son compte HelloAsso à son compte Opentalent.
|
|
|
|
|
|
|
|
|
#### Le callback après authentification
|
|
|
|
|
|
Une fois l'authentification effectuée via le formulaire HelloAsso, l'utilisateur est redirigé vers l'URL de
|
|
|
-callback fournie précédemment, URL à laquelle aura été ajoutée une query.
|
|
|
+callback fournie précédemment : https://app.opentalent.fr/helloasso/callback.
|
|
|
|
|
|
+Lorsqu'il redirige vers l'url de callback, HelloAsso y ajoute une query.
|
|
|
Cette query de retour contient :
|
|
|
|
|
|
* Un authorization_code en cas de succès
|
|
|
@@ -80,8 +81,8 @@ contenant le body suivant (`application/x-www-form-urlencoded`) :
|
|
|
* `client_secret` : la clé secrète Opentalent enregistré comme variable d'environnement.
|
|
|
* `grant_type`: doit valoir 'authorization_code'.
|
|
|
* `code`: l'authorization_code fourni précédemment.
|
|
|
-* `code_verifier`: la chaine de caractère générée pour le challenge, avant encodage *à revoir*.
|
|
|
-* `redirect_uri` : *à revoir*.
|
|
|
+* `code_verifier`: la valeur initiale utilisée pour le challenge PCKE, stockée en base.
|
|
|
+* `redirect_uri` : l'url de callback passée précédemment au formulaire HelloAsso..
|
|
|
|
|
|
On récupère ensuite une réponse JSON de la forme :
|
|
|
|