Fournisseur d’adhésion à utiliser ou à ne pas utiliser?

Je développe un site Web qui utilise Facebook. Maintenant, pour gérer les utilisateurs, j’ai pensé à utiliser MembershipProvider et j’ai choisi de développer un fournisseur d’adhésion personnalisé. Mon problème est que mon schéma de firebase database ne correspond pas au schéma d’appartenance standard et que les fonctions fournies pour remplacer prennent des arguments différents de ceux que je prévois. Par exemple, l’adhésion utilise nom d’utilisateur comme nom d’utilisateur pour se connecter. Mais je dois utiliser l’ID de messagerie de l’utilisateur comme nom d’utilisateur. De plus, ses fonctions de recherche sont basées sur l’utilisation d’un nom d’utilisateur comme moyen de recherche, mais je souhaite qu’il effectue une recherche par ID utilisateur. Idem pour l’insertion, la suppression et la modification par l’utilisateur.

Lors de l’ajout d’un nouvel utilisateur, je souhaite également enregistrer les données liées à Facebook de l’utilisateur … telles que l’UID et le jeton d’access.

modifier

C’est juste une idée, serait-il possible de passer avec force mes valeurs dans les arguments et ensuite de les gérer dans mon code?

Mettre à jour

J’ai trouvé qu’il existe un argument objectUtilisateurUtilisateur dans la méthode de création d’utilisateur. Dans la documentation MSDN, j’ai constaté qu’il est utilisé pour transmettre une clé unique, telle qu’un GUID, à chaque nouvelle ligne. Mais dans ma firebase database, j’ai déjà des dispositions pour UID de nouvelle ligne. Je devrais donc utiliser ce paramètre supplémentaire pour transmettre mes données personnalisées en tant qu’object via cet argument et les gérer dans mon code de fournisseur personnalisé.

Si vous avez le choix entre lancer votre propre authentification / connexion ou aller avec Membership et coder une couche de mappage, je voudrais définitivement aller avec le dernier point. Vous pouvez toujours utiliser ce que l’Adhésion vous offre, sinon via l’API puis directement avec les tables de firebase database. .

Inévitablement, vous obtiendrez une erreur d’authentification et paierez le prix plus tard si vous lancez la vôtre.

Au lieu de cela, vous voudrez peut-être vous pencher sur l’ authentification OpenID , c’est-à-dire consulter le fil de discussion SO: Authentification OpenID dans ASP.NET?

MODIFIER:

Je ne pense pas que vous ayez besoin d’un fournisseur d’adhésion personnalisé. Dans un projet que j’ai réalisé par le passé, nous avions notre propre gestion des utilisateurs avant de nous intégrer à l’adhésion à ASP.NET. En plus d’append les tables d’appartenance SQL à notre firebase database, nous n’avions plus qu’à fournir un mappage entre nos utilisateurs (dont la clé était un bigint habituel à l’époque) et le GUID de l’utilisateur d’appartenance. Avec ce type de mappage, vous pouvez également enregistrer toutes vos données liées à Facebook (juste une relation FK avec un utilisateur de membre).

Autre que cela, je pense que l’adhésion permet déjà de se connecter en utilisant une adresse e-mail, donc je ne pense pas que vous rencontrerez trop de problèmes.