La sécurisation de mon REPOS de l'API OAuth, tout en permettant l'authentification via des tiers OAuth fournisseurs (à l'aide de DotNetOpenAuth)

J'ai un produit avec une simple API REST de sorte que les utilisateurs du produit peut intégrer directement les caractéristiques du produit sans l'aide de mon interface utilisateur web.

Récemment, j'ai été faire de l'intérêt de tiers divers sur l'intégration de leurs clients de bureau avec l'API pour permettre aux utilisateurs de mon produit pour accéder à leurs données à l'aide de cette application tierce.

J'ai vu que les applications qui veulent utiliser Twitter s'authentifier à l'aide d'une page de connexion hébergé par Twitter qui accorde une application spécifique de l'autorisation d'accès de l'utilisateur des données. Vous cliquez sur "Autoriser" ou "Refuser" et le processus d'authentification est terminée. Facebook utilise le même mécanisme que mieux que je peux dire.

Sur d'autres recherches, ce qui semble être OAuth dans l'action, et vu que mon API .Net-base, je pense que je devrais utiliser DotNetOpenAuth et de fournir un mécanisme similaire. Malheureusement, les échantillons sont peu documentés (si) et le seul tutoriels que je peux trouver en ligne semble être concentré sur vous aider à fournir un mécanisme de connexion de vos utilisateurs pour qu'ils puissent se connecter à votre site web à l'aide d'un fournisseur tiers.

Ce que je vraiment aime faire, c'est d'avoir mon API REST de gérer l'ensemble de la base de l'authentification et de la logique métier pour mon application web et ont, sous le capot, mon application web essentiellement être une autre application qui utilise l'API via OAuth. Utilisateurs de s'authentifier sur le site, soit directement à l'aide de leur nom d'utilisateur et le mot de passe, ou par l'intermédiaire d'un fournisseur tiers, tels que MyOpenID ou Facebook et ensuite, le site serait en quelque sorte utiliser le retour de jeton pour s'authentifier auprès de l'API REST.

La sécurisation de mon REPOS de l'API OAuth, tout en permettant l'authentification via des tiers OAuth fournisseurs (à l'aide de DotNetOpenAuth)

Il ressemble fondamentalement j'ai besoin de mon API pour en quelque sorte l'hôte d'un service OAuth, mais également aux utilisateurs d'utiliser un tiers service OAuth. Je ne peux pas aider mais je pense que je n'arrive pas à avoir assez de connaissance sur le protocole OAuth pour décider si je suis de compliquer à l'excès des choses ou si ce que je suis en train de faire est une bonne ou une mauvaise façon de faire les choses.

Quelqu'un peut me donner au moins un aperçu général des étapes que j'ai besoin d'entreprendre, ou de ce que je devrais regarder pour ce faire? Ou me pointer à certains tutoriels? Ou blast ma proposition et me dire que je vais sur ce sujet (l'architecture) tout faux?

  • Salut Nathan, je suis aux prises avec un scénario semblable à vous décrire ici, et je me demandais si vous aviez quelque chose à ajouter à ma question ou des conseils sur la façon d'obtenir autour de mon manque de compréhension de l'OpenID intégration avec mon API stackoverflow.com/questions/16855131/...