Après authentification personnalisée MongoDB , il est indiqué que tout JWT Token
avec les champs minimaux ci-dessous fonctionne avec l'authentification de point MongoDB. De plus, le jeton doit être émis par External Authentication System
{
"aud": "<stitch app id>"
"sub": "<unique user id>",
"exp": <NumericDate>,
}
J'ai testé ça et ça marche aussi
Custom Authentication Provider
Cela fonctionne dans le sens,
value
fourni dans sub
: "sub": "<unique user id>"
et si l'utilisateur est présent, il renvoie l'ID d'objet pour cet utilisateur.Les requêtes sont,
MongoDB Stitch Custom Authentication
implique External Authentication System
pour émettre JWT
, où les données utilisateur seront-elles réellement stockées lors de l'inscription de l'utilisateur? - MongoDB Stitch App Collection
ou External Authentication API System
?Voici la réponse de MongoDB Support
Pourquoi Stitch crée-t-il un nouvel "utilisateur"
Le point "utilisateur" créé dans ce scénario est un utilisateur interne. Cet "utilisateur" contient également les données utilisateur et les métadonnées fournies par le JWT et n'est pas stocké avec vos autres collections dans le cluster Atlas auquel votre application est liée. Notez que cet "utilisateur" n'est pas accessible à MongoDB sans utiliser un déclencheur ou une autre fonction pour le charger dans la base de données.
Pourquoi un échec de connexion n'est-il pas retourné
Un échec de connexion n'est pas renvoyé car le fournisseur d'authentification personnalisé vérifie uniquement le JWT signé du système externe par rapport à sa propre copie de la clé de signature. Si les signatures correspondent, la connexion est considérée comme réussie.
Il est de la responsabilité du fournisseur d'authentification externe d'échouer la connexion; pas Stitch.
Où les données utilisateur seront-elles réellement stockées
Les données utilisateur doivent être gérées dans votre base de données. Le moyen le plus efficace d'intégrer cela au fournisseur d'authentification personnalisée consiste à utiliser un déclencheur d'authentification sur les types d'opérations de création et/ou de connexion. Cela vous permettrait d'exécuter une fonction Stitch chaque fois qu'un événement d'authentification est déclenché.
Il existe un exemple d'utilisation de déclencheurs d'authentification sur le blog MongoDB qui peut aider à expliquer le processus plus en détail.