Auth
Le concept d’"auth” regroupe à la fois l’authentification (autthentication en anglais) et l’autorisation (authorization en anglais), qui sont des besoins classiques lorsque l’on construit une application web. L’authentification signifie vérifier que l’utilisateur ou l’utilisatrice est bien la personne qu’elle prétend être grâce aux identifiants fournis. L’autorisation signifie déterminer quelles actions une personne est autorisée à faire.
Sessions vs tokens
Après que la personne a fourni ses identifiants comme un nom et un mot de passe, nous souhaitons les l’autoriser à utiliser l’application sans qu’elle ait de nouveau besoin de fournir ses identifiants pour les requêtes futures. Les utilisateurs et utilisatrices sont en généralement authentifiées pour les requêtes suivantes avec soit un identifiant de session, soit avec un token signé tel qu’un JSON Web Token (JWT).
Les IDs de sessions sont en général stockés dans une base de données. Ils peuvent être immédiatement révoqués, mais nécessitent d’interroger la base de données à chaque requête.
À l’inverse, les JWT ne sont généralement pas vérifiés en rapport à une base de données, ce qui implique qu’ils ne peuvent pas être immédiatement révoqués. L’avantage de cette méthode est une meilleure latence et une charge réduite sur votre base de données.
Points d’intégrations
Les cookies peuvent être vérifiés dans des hooks de
serveur. Si les identifiants d’utilisateur ou utilisatrice correspondent à une
entrée dans la base de données, les informations d’utilisateur peuvent être stockées dans le champ
locals
.
Guides
Lucia est une bonne référence pour l’auth d’application basée sur des IDs
de session. Elle contient des exemples de code et de projet pour implémenter une auth de session au
sein de SvelteKit ainsi que dans d’autres types de projets JS. Vous pouvez ajouter dans votre projet
du code correspondant au guide de Lucia avec l’utilitaire npx sv create
lorsque vous créez un
nouveau projet, ou avec l’utilitaire npx sv add lucia
pour l’ajouter à un projet existant.
Un système d’auth est profondément couplé à un framework web car la plupart du code concerne la validation des entrées des utilisateurs et utilisatrices, la gestion des erreurs, et la direction des utilisateurs et utilisatrices vers la prochaine page appropriée. En conséquence, beaucoup de librairies d’auth JS génériques incluent un ou plusieurs frameworks dans leur code. Pour cette raison, beaucoup de développeurs et développeuses vont trouver préférable de suivre un guide spécifique à SvelteKit comme celui fourni par Lucia plutôt que d’ajouter plusieurs frameworks web dans leur projet.
Modifier cette page sur Github llms.txt