Skip to main content

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

précédent suivant