À propos de ce tutoriel
Maintenant que nous avons fait le tour de la partie front-end nous allons pouvoir attaquer la partie serveur en commençant par le système de sessions utilisateurs. Pour le serveur nous allons utiliser Fastify et on va gérer les sessions de manière stateless sans utiliser de base de données.
Lorsque l'utilisateur contactera le serveur on lui assignera un identifiant unique et une signature que l'on créera à l'aide d'une clef privée. Pour gérer cette partie cryptographie on se reposera sur l'API crypto de NodeJS
import Fastify from 'fastify'
import { v4 } from 'uuid'
import { sign } from './func/crypto'
const fastify = Fastify({logger: true})
fastify.post('/api/players', (req, res) => {
const playerId = v4() // On génère un id unique à la volée
const signature = sign(playerId)
res.send({
id: playerId,
signature: signature
})
})
fastify.listen({port: 8000}).catch((err) => {
fastify.log.error(err)
process.exit(1)
}).then(() => {
fastify.log.info('Le serveur écoute sur le port 8000')
})