Sécurité et confiance
Les deux clés, l'enveloppe signée, la vérification des jetons, la rotation.
Deux mécanismes de signature encadrent un service Yeria : vous signez les vues que vous renvoyez, Yeria signe les jetons utilisateurs que vous recevez. Les deux sont vérifiés, jamais supposés.
Les deux clés
| Clé | Algorithme | Détenteur | Rôle |
|---|---|---|---|
| Clé de plateforme | RSA (RS256) | Yeria | Signe les jetons utilisateurs. Vous ne faites que vérifier ; le SDK récupère et met en cache la clé par son kid. |
| Clé de service | Ed25519 | Vous | Signe les enveloppes de vue et vos appels vers Yeria. La moitié publique est déposée au registre ; la privée ne quitte pas votre backend. |
Générer une paire RSA pour votre service est une erreur : le registre refuse tout ce qui n'est pas Ed25519.
La clé privée
Ne la committez jamais, ne l'envoyez jamais à Yeria, ne la placez jamais dans un build mobile. Quiconque la détient peut signer des vues et des appels en votre nom. En cas de fuite, effectuez une rotation immédiate.
L'enveloppe signée
app.serve(view) produit une enveloppe v3 :
1{ "payload": "{\"type\":\"FormView\",…}", "signature": "…" }La signature porte sur les octets de la chaîne payload, qui est parsée ensuite. Ne reformatez jamais le JSON après signature : la vérification échouerait.
L'application vérifie la signature avant de rendre l'écran. Une vue qu'elle ne peut pas vérifier est refusée — elle n'est pas affichée dégradée.
Vérifier les jetons entrants
Yeria est un registre et un fournisseur d'identité, pas un proxy : l'application appelle votre URL directement. C'est donc à vous de vérifier chaque jeton reçu.
1const user = await app.verifyUserToken(bearer, process.env.YERIA_SERVICE_ID);Passer l'identifiant de votre service épingle l'audience : un jeton émis pour un autre service est rejeté. La clé de plateforme est récupérée une fois puis mise en cache, donc la vérification ne fait aucun appel réseau ensuite.
Le SDK fournit des helpers, pas de middleware. Il n'existe pas de YeriaApp.authMiddleware() : l'intégration à votre framework reste votre choix.
Rotation de clés
Sur un service déjà approuvé, changer la clé publique est une modification du registre : elle est mise en brouillon et appliquée à la validation de la revue. La rotation d'urgence, après une fuite, suit un chemin distinct décrit dans Intégration provider.
Transport et exposition
- Votre backend doit être joignable en HTTPS depuis les appareils des utilisateurs.
- Aucune donnée métier ne transite par Yeria : le trafic va du mobile à votre serveur.
- Les vues ont une durée de validité ; une vue expirée est refusée par l'application.