Token et sessions en rust avec Rocket

a marqué ce sujet comme résolu.

Je suis actuellement en train de faire un système de connexion et de gestion de son compte.
J’utilise Rust avec Rocket, comme framework web, et Diesel, pour la BDD.
Mon problème est que je doit gérer différent types de connexions, les connexions du client de jeu(qui n’existe pas encore), les connexions au service web(gestion du compte, forums… etc), et les connexions de logiciels externes(avec des restrictions spécifiques)

Le client de jeu utilisera des connexions à l’API, de même pour les logiciels externes. Mais les interfaces web devraient utiliser des clés de session dans un cookie.

Et c’est là que j’ai un problème.
Comment gérer les tokens d’API avec Rocket ? Et comment gérer les cookies de session avec Rocket ?

J’ai bien vu les JsonWebToken(JWT) mais je trouve ça inadapté pour le login à l’interface web.

Ben je voit pas comment gérer un JWT dans un cookie… mais en fait je sait juste pas comment gèrer le login et la persistance du login sur un certain temps.

En fait j’ai jamais eu ce problème, avant j’utilisai flask ou django qui ont des modules pour faire de l’auth… mais là y’a pas ça, je sais à peine dans quel cookie le placer.

+0 -0

Au final je build mes propres tokens, c’est crade mais au moins ça marche et je sait comment l’utiliser.
Le token à une structure comme ça
time in nano secondes + token id + user id + random string + token type + time in seconds

Je ne suis pas sûr que tu aies compris ce qu’était un token JWT et comment ça s’utilise, en fait.

Quel est l’intérêt de ton token par rapport à un token purement aléatoire ? Surtout, qu’es-ce qui m’empêche de le modifier pour y coller un autre user ID et donc me connecter en tant que quelqu’un d’autre ?

Ben… là c’ets pas un JWT que je compte utiliser, je compte juste parser ça en base64…

Le hash du token est gardé et lié à l’utilisateur, si le token n’existe pas alors ta connexion est refusé.
Quel intérêt ? Hum pour moi c’est la capacité d’avoir des tokens uniques à coup sur, de plus ça me permet d’utiliser le même algo pour identifier les différents types de tokens.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte