Je ne suis pas sûr de ce que vous cherchez est OAuth.
OAuth est de déléguer l'autorisation, par le biais de l'utilisation de jetons. En fonction de ce que vous faites, vous avez deux scénarios:
- Votre application doit utiliser certains des utilisateurs de données, hébergée par un fournisseur de dire que twitter ou google). Dans ce cas, votre demande pourrait être un consommateur - en bref, l'utilisateur aurait besoin d'ouvrir une session et d'accord pour autoriser votre application d'avoir accès à leurs données sur le fournisseur, et vous serait donné un jeton d'accès qui peut être utilisé pour accéder à ces ressources protégées.
- Alternativement, vous disposez d'une application, avec des utilisateurs qui ont des ouvertures de session etc. Et que vous souhaitez apporter (c'est à dire que vous êtes le fournisseur), l'accès à certaines informations confidentielles de vos utilisateurs pour les applications 3ème partie (les consommateurs), sans exposer vos informations d'identification des utilisateurs de ces services.
Pour plus d'informations sur le protocole OAuth - découvrez le OAuth.Net site web. Il y a actuellement 3 implémentations du protocole OAuth disponible pour .Net.
En raison de la façon OAuth fonctionne, je ne peux pas vraiment imaginer comment vous pourriez avoir une "OAuth" fournisseur d'appartenances - Il est vraiment destiné pour la sécurisation de l'API, et souvent le but est de déléguer l'autorisation à un niveau plus granulaire c'est à dire donner un consommateur demande d'accès à des utilisateurs de données du carnet d'adresses, sans les laisser accéder à des archives de courriel, calendrier, etc. - ce qui ne rentre pas bien avec un effectif de rôle à la base du modèle de sécurité.
Je devine ce que vous êtes vraiment à la recherche pour est OpenId c'est à dire la façon dont vous vous authentifiez avec Stackoverflow lui-même. Je suggère la lecture de la Stackoverflow OpenId étude de cas ici, et probablement le meilleur OpenId pour la mise en œuvre .Net est actuellement partie de DotNetOpenAuth projet (ce qui a été officiellement appelé DotNetOpenId, le site google code du projet est ici).