-
Notifications
You must be signed in to change notification settings - Fork 6
Description
Motif
Pour le bon fonctionnement du bot, il faut pouvoir récupérer des données utilisateur depuis le site, avec le consentement de l'utilisateur concerné, de manière sécurisée et sans possibilité de falsification ou d'usurpation d'identité.
Ce branchement doit impérativement être fonctionnel avec un bot discord. Dans l'idéal il doit fonctionner pour n'importe quel type d'intégration.
Interactions attendues
L'interaction doit commencer du côté de l'application externe. Lorsque l'utilisateur le demande, l'application doit fournir à l'utilisateur une URL contenant dans ses paramètres l'URL de retour que le site doit appeler si l'authentification réussit.
En cliquant sur cette URL, l'utilisateur doit être dirigé vers une page du site AE où on lui demandera de valider un formulaire expliquant les données qu'il donnera à Discord, les buts d'utilisation de ces données et son consentement explicite pour transmettre ces dernières.
Une fois cela fait, le site enverra une requête à l'url de retour fournie initialement, avec les données utilisateur. L'application se chargera alors de faire l'enregistrement, puis renverra un code de succès. A la réception d'une réponse HTTP OK, le site affiche à l'utilisateur un message de succès ; l'application externe se charge de faire de même de son côté.
Diagramme représentatif :
sequenceDiagram
participant App
actor User
User->>+App: Commande<br/>d'authentification
App-->>User: url de connexion<br/>avec signature
User->>+Sith: GET url
alt Utilisateur non-connecté
Sith->>+User: Formulaire de connexion
User-->>-Sith: Connexion
end
Sith->>Sith: vérification de la signature
Sith->>+User: Formulaire<br/>des conditions<br/>d'utilisation
User-->>-Sith: Validation
Sith->>+App: URL de retour
App->>App: Enregistrement
App-->>-Sith: 200 OK
Sith-->>-User: Message de succès
App-->>-User: Message de succès
Sécurité des échanges
Tous les échanges entre l'app externe et le site au cours de ce processus (tous !) doivent être signés, soit au moyen d'une clef HMAC, soit par un jeu de clefs RSA.
Chaque clef ne doit être utilisable que par un seul client d'API et doit être aisément révocable.
RGPD
Ce processus implique la transmission de données à une application autre que le site AE, et l'usage subséquent de ces données à des fins qui ne sont pas directement contrôlées par l'AE.
Les utilisateurs qui s'engagent dans la liaison de le compte AE avec une application externe doivent impérativement en être informés et donner leur consentement explicite à la transmission et à l'utilisation de leurs données par l'application externe.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status