Qu'est-ce exactement OAuth (Ouvrir Autorisation)?
Qu'est-ce exactement OAuth (Ouvrir Autorisation)?
J'ai glané quelques informations de
Mais je veux apprendre et d'en savoir plus. Je suis à la recherche d'info sur le cycle de vie. Pourquoi la plupart des réseaux sociaux s'appuient sur ce protocole ouvert?
Il deviendra de facto dans un avenir proche avec les différentes technologies (p. ex. ASP.NET)?
Vous devez vous connecter pour publier un commentaire.
OAuth permet à la notification d'un fournisseur de ressources (par exemple Facebook) que le ressources propriétaire (vous) donne l'autorisation à un tiers (par exemple, un Facebook Demande) accès à leurs informations (par exemple, la liste de vos amis).
Si vous l'avez lu a déclaré que, vraiment, je comprends votre confusion. Donc, nous allons aller avec un exemple concret: l'adhésion à encore un autre réseau social!
Disons que vous avez un compte GMail existant. Vous décidez de vous inscrire sur LinkedIn. L'ajout de l'ensemble de vos beaucoup, beaucoup de amis manuellement est une tâche fastidieuse et source d'erreurs. Vous pourriez en avoir marre à mi-chemin ou insérer des fautes de frappe dans leur e-mail pour l'invitation. De sorte que vous pourriez être tentés de ne pas créer un compte après tout.
Face à cette situation, LinkedIn a la Bonne Idée(TM) écrire un programme qui ajoute à votre liste d'amis automatiquement parce que les ordinateurs sont beaucoup plus efficient et plus efficace fastidieux et source d'erreurs tâches. Depuis qu'il a rejoint le réseau est maintenant si facile, il n'y a aucun moyen vous refuser une telle offre, maintenant, voulez-vous?
Sans une API pour l'échange de cette liste de contacts, vous auriez à donner LinkedIn le nom d'utilisateur et le mot de passe de votre compte GMail, ce qui de leur donner trop de pouvoir.
C'est là que OAuth est en. Si votre GMail prend en charge le protocole d'authentification OAuth, LinkedIn peut vous demander de vous autoriser à accéder à votre compte GMail liste de contacts.
OAuth permet de:
Bien que OAuth est un important pas en avant, il ne résout pas les problèmes si les gens ne l'utilisent pas correctement. Par exemple, si un fournisseur de ressources ne donne qu'un seul accès en lecture-écriture au niveau de l'ensemble de vos ressources à la fois et ne fournit pas de mécanisme pour la gestion des accès, alors il n'y a pas de point à elle. En d'autres termes, OAuth est un cadre pour fournir l'autorisation de la fonctionnalité et pas seulement l'authentification.
Dans la pratique, il s'adapte le réseau social modèle très bien. Il est particulièrement populaire pour ceux réseaux sociaux qui veulent permettre à un tiers d' "plugins". C'est une région où l'accès aux ressources est nécessaire de par la nature et est aussi intrinsèquement peu fiables (c'est à dire que vous avez peu ou pas de contrôle de la qualité de ces applications).
Je n'ai pas vu beaucoup d'autres utilisations dans la nature. Je veux dire, je ne connais pas de en ligne des conseils financiers à l'entreprise qui aura accès à votre banque automatiquement des enregistrements, mais il pourrait techniquement être utilisé de cette façon.
OAuth est tout simplement une sécurité d'autorisation de protocole qui porte sur l'autorisation d'une application tierce partie pour accéder aux données de l'utilisateur sans exposer leur mot de passe. par exemple. (Connexion avec fb, gPlus, twitter dans de nombreux sites web..) tous les travaux en vertu du présent protocole.
Le Protocole devient plus facile quand vous savez que les parties en cause. Fondamentalement, il existe trois parties concernées: oAuth Fournisseur, Client oAuth et le Propriétaire.
J'ai supposé un scénario où un site web(stackoverflow) besoin d'ajouter de la connexion avec facebook fonctionnalité. Ainsi, facebook est oAuth Fournisseur et le stackoverflow est Client oAuth.
Cette étape est réalisée par l'application de développeur. Au début, facebook (oAuth Fournisseur) n'a aucune idée sur la stackoverflow(Client oAuth), car il n'y a pas de lien entre eux. Donc, la première étape est d'enregistrer stackoverflow avec facebook site des développeurs. Ceci est fait à la main si les développeurs ont besoin pour donner de l'application des informations de facebook comme le nom de l'application, site web, logo, Url de redirection(important). Puis stackoverflow est enregistré avec succès, a eu l'Id client, du client secret, etc à partir de facebook et est en place et fonctionne avec OAUTH.
2.Maintenant, quand stackoverflow de l'utilisateur clique sur connexion avec fb bouton. Stackoverflow demandes de facebook avec ClientId(fb utiliser pour reconnaître le client) et redirectUrl(fb sera de retour sur cette url après le succès).Ainsi, l'utilisateur obtient redirigé vers facebook de la page de login. C'est la meilleure partie utilisateur(propriétaire) n'est pas de donner leur facebook les informations d'identification pour stackoverflow.
Pour Plus D':
Vidéo rapide
Lien Web
Simplement mettre OAuth est une façon pour les applications d'acquérir des informations d'identification pour votre information, sans directement de l'obtention de vos informations de connexion utilisateur vers un site web. Par exemple, si vous écrivez une application sur votre propre site web et à utiliser les données d'un utilisateur de facebook compte, vous pouvez utiliser OAuth pour obtenir un jeton via une url de callback et ensuite utiliser ce jeton de faire des appels à l'facebook API pour obtenir leur utilisation des données jusqu'à l'expiration de ce jeton. Les sites web s'appuient sur elle, car elle permet aux programmeurs d'accéder à leurs données sans que l'utilisateur ait à directement à divulguer leurs informations et de diffuser leurs informations d'identification autour de ligne, mais encore de fournir un niveau de protection des données. Il deviendra de facto la méthode d'autorisation? Peut-être, ça fait gagner beaucoup de soutien récemment à partir de Twitter, Facebook, et les aime, où les programmeurs veulent développer des applications autour des données de l'utilisateur.
Oauth est certainement à prendre de l'élan et de devenir populaire parmi les entreprise Api ainsi.
Dans l'application et des données mondiale axée sur la, les Entreprises sont d'exposer les Api de plus en plus du monde extérieur dans la ligne avec Google, Facebook, twitter.
Avec ce développement, un mode 3 triangle de l'authentification se forme
1) fournisseur API - Toute entreprise qui expose leurs actifs par des API, disons Amazon,etc
2) Développeur - celui qui construisent mobile/d'autres applications au cours de cette Api
3) L'utilisateur - L'utilisateur final du service fourni par l' - dire inscrits/chambres d'utilisateurs d'Amazon
Maintenant, cela devient une situation liée à la sécurité (je suis en liste quelques-uns de ces complexités)
1) l'utilisateur final veut permettre au développeur d'accéder aux Api au nom de vous.
2) Le fournisseur API a pour authentifier le développeur et l'utilisateur final
3) L'utilisateur doit être en mesure d'accorder et révoquer les autorisations pour le consentement qu'ils ont donné
4) Le développeur peut avoir différents niveaux de confiance avec l'API fournisseur, dans laquelle le niveau des autorisations elle est différente
Oauth est un document cadre qui essaie de résoudre le problème mentionné ci-dessus dans un façon standard. Avec l'importance de l'Api et des Applications de ce problème va devenir de plus en plus pertinentes et de toute norme qui essaie de le résoudre - être il ouath ou de tout autre - sera quelque chose à se soucient comme d'une API fournisseur/développeur et même l'utilisateur final!
OAuth(Ostylo Authorization) est un standard ouvert pour l'octroi de l'accès/deligation protocole. Il a utilisé comme un moyen pour les utilisateurs d'Internet d'autoriser les sites web ou les applications d'accès à leurs renseignements sur d'autres sites, mais sans leur donner les mots de passe. Il ne traite pas de authentification.
Ou
OAuth 2.0 est un protocole qui permet à un utilisateur d'accorder un accès limité aux ressources sur un seul site, sur un autre site, sans avoir à s'exposer leurs informations d'identification.
Analogie 1: de Nombreuses voitures de luxe d'aujourd'hui viennent avec une clé valet. C'est une touche spéciale de vous donner le préposé au stationnement et à la différence de votre clé, ne permettra pas à la voiture à conduire de plus d'un mile ou deux. Certains de voiturier, les touches de pas ouvrir le coffre, tandis que d'autres vont bloquer l'accès à votre bord de téléphone cellulaire carnet d'adresses. Indépendamment de ce que les restrictions à la clé valet impose, l'idée est très ingénieuse. Vous donnez à quelqu'un accès limité à votre voiture avec une clé spéciale, tout en utilisant votre clé pour déverrouiller tout. src à partir de auth0
Analogie 2: Assumer, nous voulons remplir un formulaire de demande pour un compte en banque. Ici Oauth ouvrages qui, au lieu de remplir le formulaire par le déposant, la banque peut remplir le formulaire à l'aide de Adhaar ou d'un passeport.
Ici les trois entités suivantes sont concernées:
OAuth est tout à propos de la délégation d'Autorisation de choisir quelqu'un qui peut faire l'Autorisation pour vous). Notez que l'Authentification et l'Autorisation sont des choses différentes. OAuth est d'Autorisation (contrôle d'Accès), et si vous voulez mettre en œuvre l'Authentification (vérification de l'ID) aussi, OpenID protocole peut être utilisé sur le dessus de l'authentification OAuth.
Toutes les grandes entreprises comme Facebook, Google, Github,... l'utilisation de ce type d'authentification/autorisation de nos jours. Par exemple, je viens de m'inscrire sur ce site à l'aide de mon compte Google, cela signifie Stackoverflow ne connais pas mon mot de passe, il reçoit l'indemnité de la part de Google, où mon mot de passe (hachés évidemment) est enregistré. Cela donne beaucoup d'avantages, l'un d'eux; Dans un avenir proche, vous n'aurez pas à faire plusieurs comptes sur chaque site. Un site web (qui vous ont le plus confiance) peut être utilisé pour se connecter à tous les autres sites. Donc vous aurez seulement à se rappeler un mot de passe.
Source : OAuth1 les fournisseurs de services
OAuth est un standard ouvert pour l'autorisation, couramment utilisé comme un moyen pour les utilisateurs d'Internet pour vous connecter sites web de tiers à l'aide de Microsoft, Google, Facebook ou comptes Twitter sans exposer leur mot de passe.