Skip to content

Commit 751e132

Browse files
committed
tweak documentation
1 parent d52dd74 commit 751e132

1 file changed

Lines changed: 26 additions & 7 deletions

File tree

docs/tutorial/api/account-link.md

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ et d'un client d'API (celui auquel est liée votre
1212
Deux informations vous sont nécessaires, en plus de votre clef d'API :
1313

1414
- l'id du client : vous pouvez l'obtenir soit en le demandant à l'équipe info,
15-
soit en appelant la route `GET /client/me` avec votre clef d'API
15+
soit en appelant la route `GET /api/client/me` avec votre clef d'API
1616
renseignée dans le header [X-APIKey](./connect.md#x-apikey)
1717
- la clef HMAC du client : vous devez la demander à l'équipe info.
1818

@@ -91,16 +91,29 @@ et doit contenir les données décrites dans
9191
- `callback_url`(URL) : l'URL que le site AE appellera si l'authentification
9292
réussit
9393
- `signature`(string) : la signature des données de la requête.
94+
Il s'agit d'une signature par clef HMAC dont le fonctionnement
95+
est détaillé plus bas.
9496

9597
Ces données doivent être url-encodées et passées dans les paramètres GET.
9698

97-
!!!tip "URL de retour"
99+
!!!warning "URL de retour"
98100

99-
Notre système n'impose aucune contrainte quant à la manière
100-
de construire votre URL (hormis le fait que ce doit être une URL HTTPS valide),
101-
mais il est tout de même conseillé d'utiliser l'identifiant de votre
102-
utilisateur comme paramètre dans l'URL
103-
(par exemple `GET /callback/{int:user_id}/`).
101+
Les URLs fournies doivent être des URLs HTTP valides.
102+
En outre, elles doivent obligatoirement inclure la barre oblique finale.
103+
104+
=== "URL correcte ✔️"
105+
106+
`https://exemple.ae.utbm.fr/foo/`
107+
108+
=== "URL incorrecte ❌"
109+
110+
`https://exemple.ae.utbm.fr/foo`
111+
112+
!!!tip
113+
114+
Inclure l'id de votre utilisateur dans l'URL de retour
115+
peut être un bon moyen de l'identifier lors du callback.
116+
Par exemple : `GET /callback/{int:user_id}/`.
104117

105118
???Example
106119

@@ -186,6 +199,8 @@ et la signature de l'URL de retour doit être vérifiée.
186199

187200
Dans le deux cas, la signature est le digest HMAC-SHA512
188201
des données url-encodées, en utilisant la clef HMAC du client d'API.
202+
L'ordre dans lequel ces données sont placées dans l'encodage URL
203+
doit être strictement le même que celui donné plus haut.
189204

190205
???Example "Signature de l'URL de connexion"
191206

@@ -348,6 +363,10 @@ des données url-encodées, en utilisant la clef HMAC du client d'API.
348363
Vous devez impérativement vérifier la signature
349364
des données de la requête de callback !
350365

366+
Ne pas vérifier la signature permet à n'importe quel acteur
367+
tierce malveillant de vous appeler sur votre callback.
368+
Ce serait une faille de sécurité majeure de votre côté.
369+
351370
Si l'équipe informatique se rend compte que vous ne le faites pas,
352371
elle se réserve le droit de suspendre votre application,
353372
immédiatement et sans préavis.

0 commit comments

Comments
 (0)