Skip to content
This repository has been archived by the owner on Aug 29, 2023. It is now read-only.

polysource-projects/epfl-custom-auth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 

Repository files navigation

EPFL Tools Custom Auth (ETCA)

ARCHIVED PROJECT, PLEASE USE VODKA

Certains services créés par les étudiants (donc non officiels) ont besoin de vérifier qu'un utilisateur est bien un étudiant de l'EPFL, et par exemple dans une section spécifique.

Or, Tequila (le service d'authentification fédéral utilisé par l'EPFL) ne supporte que les services officiels.

Fonctionnement de l'ETCA

  • L'utilisateur demande à être authentifié sur le site.
  • L'utilisateur entre son mail @epfl.ch sur le site.
  • Le serveur envoie un code de confirmation au mail.
  • L'utilisateur rentre le code sur le site.
  • Le serveur récupère les informations depuis people.epfl.ch.
  • En fonction des informations, le serveur autorise ou non la connexion.

Documentation

URL: https://etca.epfl.tools

Débuter une authentification

  • POST /auth?mail=john.doe@epfl.ch

Response:

{
    "authId": AuthId,
    "status": AuthStatus,
    "email": "john.doe@epfl.ch",
    "profile": AuthProfile
}

AuthStatus est 'success' | 'failed'.
AuthId est l'identifiant de l'authentification en cours. AuthProfile est null | les données de profil de l'utilisateur :

{
    "firstName": "John",
    "lastName": "Doe",
    "type": "student",
    "course": "GM-BA5",
    "email": "john.doe@epfl.ch"
}

Valider une authentification

  • POST /confirm?authId=AuthId&code=4288842

Response:

{
    "authId": AuthId,
    "status": AuthConfirmStatus,
    "token": AuthToken,
    "email": "john.doe@epfl.ch"
}

AuthConfirmStatus est 'confirmed' | 'failed'.
AuthToken est une chaîne de caractère servant à prouver au serveur que le compte a bien été validé par l'utilisateur.

Vérifier une authentification

Maintenant côté serveur, avant d'ajouter une entrée dans la base de données par exemple, pour vérifier que l'utilisateur est bien authentifié.

  • GET /data?token=AuthToken

Response:

AuthProfile

About

EPFL Authentication without Tequila

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published