2017-09-06 1 views
0

Supposons que j'ai une application d'application Web et que j'utilise aws cognito users-pool pour gérer mes utilisateurs. Supposons également que certains utilisateurs ne sont que des "Invités", que certains sont dans un régime "Régulier" et que certains sont sous un régime "Premium".Meilleure pratique pour stocker les utilisateurs "planifier" et contrôler leur autorisation dans AWS Cognito

Où est le meilleur endroit pour stocker les informations de planification des utilisateurs? Est-il préférable de le stocker en tant qu'attribut utilisateur Cognito ou dans une clé: value DB (par exemple Dynamodb)?

Comment devrais-je contrôler ce qu'un utilisateur peut faire selon son plan? Devrais-je vérifier l'ID utilisateur par rapport à sa valeur "type de plan" dans Cognito pool utilisateur/DB pour chaque requête http qu'il fait au serveur? Y a-t-il un moyen moins coûteux (ressources) pour accomplir cela?

Merci

+0

Votre application est-elle multitenant? Avez-vous l'intention d'utiliser le même pool d'utilisateurs pour d'autres applications? – Ashan

Répondre

0

Si votre demande est locataire unique et que vous utilisez le userpool particulier que pour cette application, vous pouvez stocker le « plan » dans un attribut personnalisé.

Cela serait difficile à gérer si vous utilisiez le même pool d'utilisateurs pour plusieurs applications ou si vous disposiez d'une architecture mutualisée avec des 'plans' différents pour un même utilisateur.

Pour stocker le plan, vous pouvez utiliser Dynamodb ou Cognito Sync Storage.