Comment dois-je mettre en œuvre OAuth pour une application?

Je suis entrain de créer une application pour un client qui doit faire ce qui suit:

  • Permettre aux utilisateurs de s'authentifier à l'aide de Google, Facebook, Twitter, et LinkedIn.
  • Autoriser les utilisateurs à ajouter des fournisseurs supplémentaires après la signature. (c'est à dire si l'utilisateur est authentifié avec Google alors qu'ils devraient être en mesure d'ajouter un ou de tous les autres fournisseurs ainsi.)
  • Permettre aux utilisateurs d'importer des contacts Google, Facebook liste d'amis, de followers sur twitter, Linkedin et les amis afin de construire votre propre liste de contacts.

Où est le meilleur endroit pour commencer à apprendre à ce sujet? Est-il un standard que tout le monde l'utilise pour ces choses .NET? J'ai cherché sur Google autour pendant quelques heures, et alors qu'il semble que la plupart des gens point de DotNetOpenAuth je n'arrive pas à trouver un bon tutoriels sur la façon d'utiliser la bibliothèque. Le téléchargement est livré avec des échantillons, mais il est encore confus pour moi.

Je suppose qu'il serait aussi simple que:

  • Configurer des fournisseurs de secrets.
  • Commencer la connexion avec un fournisseur de
  • Authentifier l'utilisateur avec auth cookie
  • Créer l'enregistrement de l'utilisateur dans ma base de données et stocker l'ID unique de fournisseur.

Mais il semble que chaque fournisseur a son propre ensemble de code et c'est tous différents et déroutant. Facebook a un graphe d'objets, twitter a quelques "InMemoryTokenManager" que je ne comprends pas, et Google n'a pas même un exemple d'authentification, seulement un Carnet d'Adresse de Google par exemple. Et en plus de tout ce que vous avez à copier des morceaux de code à partir de certains ApplicationBlock de démonstration dans les échantillons dans votre propre application pour une raison quelconque, et que toutes les compiler sans savoir ce que le diable qu'il essaie de faire est une tâche ardue.

J'ai l'impression que je suis absent quelque chose de fondamental avec tout cela.

Même d'un livre, la recommandation serait grande à ce point.

Je crois que je comprends le des concepts de haut niveau de l'authentification OAuth, mais une fois que j'ai essayer de plonger dans le nitty-gritty ai immédiatement perdu.

source d'informationauteur Chev