正確にはOAuth(Open Authorization)とは何ですか?
からいくつかの情報を収集しました
しかし、私はもっと学び、知りたいです。ライフサイクルに関する情報を探しています。ソーシャルネットワークのほとんどがこのオープンプロトコルに依存しているのはなぜですか?
近い将来、さまざまなテクノロジ(ASP.NETなど)でデファクトになりますか?
正確にはOAuth(Open Authorization)とは何ですか?
からいくつかの情報を収集しました
しかし、私はもっと学び、知りたいです。ライフサイクルに関する情報を探しています。ソーシャルネットワークのほとんどがこのオープンプロトコルに依存しているのはなぜですか?
近い将来、さまざまなテクノロジ(ASP.NETなど)でデファクトになりますか?
回答:
正確にはOAuth(Open Authorization)とは何ですか?
OAuthを使用すると、リソースプロバイダー(Facebookなど)に、リソース所有者(たとえば、あなた)がサードパーティ(Facebookアプリケーションなど)に情報へのアクセスを許可することを通知できます。(たとえば、友達のリストます。
分かりやすく読めば、あなたの混乱がわかります。それでは、具体的な例を見てみましょう:さらに別のソーシャルネットワークに参加します!
既存のGMailアカウントを持っているとしましょう。LinkedInに参加することにしました。多くのすべてを追加します友達手動では面倒でエラーが発生しやすくなります。途中でうんざりしたり、招待用の電子メールアドレスにタイプミスを挿入したりする場合があります。結局、あなたはアカウントを作成したくないと思うかもしれません。
この状況に直面すると、LinkedInは友人のリストを自動的に追加するプログラムを作成するGood Idea(TM)を使用します。これは、コンピュータは、面倒でエラーが発生しやすいタスクではるかに効率的かつ効果的だからです。ネットワークに参加するのはとても簡単なので、方法はありません申し出を拒否するん。
この連絡先リストを交換するためのAPIがない場合、LinkedInにGMailアカウントのユーザー名とパスワードを提供する必要があり、その結果、LinkedInに非常に大きな権限を与えることになります。
これがOAuthの出番です。GMailがOAuthプロトコルをサポートしている場合、LinkedInは、GMailの連絡先リストへのアクセスを許可するように依頼できます。
OAuthでは次のことが可能です。
近い将来、デファクト(標準)になるのでしょうか?
まあ、OAuthは重要な前進ですが、人々がそれを正しく使用しなければ問題は解決しません。たとえば、リソースプロバイダーが一度にすべてのリソースに単一の読み取り/書き込みアクセスレベルのみを提供し、アクセスを管理するメカニズムを提供しない場合、それは意味がありません。つまり、OAuthは、認証だけでなく、承認機能を提供するフレームワークです。
実際には、ソーシャルネットワークモデルに非常によく適合します。これは、サードパーティの「プラグイン」を許可したいソーシャルネットワークで特に人気があります。これは、リソースへのアクセスが本質的に必要であり、本質的に信頼性が低い(つまり、これらのアプリケーションの品質管理がほとんどまたはまったくない)領域です。
私は他の多くの用途を実際に目にしたことはありません。つまり、銀行の記録に自動的にアクセスするオンラインの金融アドバイス会社は知りませんが、技術的にはそのように使用できます。
oAuthとは何ですか?
OAuthは、パスワードを公開せずにユーザーデータにアクセスするためのサードパーティアプリケーションの認証を処理する、単純な安全な認証プロトコルです。例えば。(多くのウェブサイトでfb、gPlus、twitterを使用してログインします。)すべてこのプロトコルで動作します。
関係者
関係者を知っていると、プロトコルはより簡単になります。基本的には、3つの当事者が関与します。oAuthプロバイダー、oAuthクライアント、および所有者です。
使い方?
Webサイト(stackoverflow)がFacebook機能でログインを追加する必要があるシナリオを想定しています。したがって、facebookはoAuthプロバイダーで、stackoverflowはoAuthクライアントです。
このステップはアプリの開発者が行います。当初、facebook(oAuthプロバイダー)は、それらの間にリンクがないため、stackoverflow(oAuthクライアント)について何も知りません。したがって、最初のステップは、スタックオーバーフローをFacebook 開発者サイトに登録することです。これは、開発者がアプリの名前、ウェブサイト、ロゴ、リダイレクトURL(重要なもの)などのアプリの情報をFacebookに提供する必要がある場合に、手動で行われます。その後、stackoverflowが正常に登録され、FacebookからクライアントID、クライアントシークレットなどが取得され、OAUTHで稼働しています。
2. 今のstackoverflowのユーザーがクリックはFBボタンを使ってログイン。StackoverflowはFacebookにClientId(fbを使用してクライアントを認識する)を要求し、redirectUrl(fbは成功後にこのURLに戻ります)。したがって、ユーザーはFacebookのログインページにリダイレクトされます。これは、ユーザー(所有者)がfacebookクレデンシャルをstackoverflowに与えていない最高の部分です。
多くのための:
簡単に言えば、OAuthは、アプリケーションがユーザーのログイン情報をWebサイトに直接取得せずに、情報への資格情報を取得する方法です。たとえば、自分のWebサイトでアプリケーションを作成し、それをユーザーのFacebookアカウントのデータを使用する場合、OAuthを使用してコールバックURL経由でトークンを取得し、そのトークンを使用してFacebook APIを呼び出してFacebook APIを取得できます。トークンの有効期限が切れるまでデータを使用します。ユーザーが直接情報を公開したり、資格情報をオンラインに広めたりせずにプログラマーがデータにアクセスできる一方で、データに一定レベルの保護を提供できるため、Webサイトはこれに依存しています。それは事実上の認可方法になるのでしょうか?たぶん、最近TwitterやFacebookから多くの支持を得ています。
Oauthは確実に勢いを増しており、エンタープライズAPIの間でも人気が高まっています。アプリとデータ駆動の世界では、企業はGoogle、Facebook、Twitterに沿ってAPIをますます外部の世界に公開しています。この開発により、認証の3方向の三角形が形成されます
1)APIプロバイダー-Amazon、TargetなどのAPIでアセットを公開する企業2)開発者-このAPIを介してモバイル/その他のアプリを構築する人3)エンドユーザー-によって提供されるサービスのエンドユーザー-アマゾンの登録/ゲストユーザーと言う
これで、セキュリティに関連する状況が発生します-(私はこれらの複雑さのいくつかをリストしています)1)エンドユーザーとして、開発者があなたに代わってAPIにアクセスできるようにしたいと考えています。2)APIプロバイダーは、開発者とエンドユーザーを認証する必要があります3)エンドユーザーは、彼らが与えた同意に対する許可を付与および取り消すことができる必要があります4)開発者は、APIプロバイダーとのさまざまなレベルの信頼を持つことができます。彼女に与えられた許可のレベルは異なります
Oauthは、上記の問題を標準的な方法で解決しようとする認証フレームワークです。APIとアプリが目立つようになると、この問題はますます関連性が高まり、それを解決しようとするすべての標準が、それがどんなものであれ、APIプロバイダー/開発者、さらにはエンドユーザーとしても気になるものになります。
OAuth(O pen Auth orization)は、アクセス許可/委任プロトコルのオープンスタンダードです。これは、インターネットユーザーがWebサイトまたはアプリケーションに他のWebサイト上の情報へのアクセスを許可する方法として使用しましたが、パスワードは提供しませんでした。認証は扱いません。
または
OAuth 2.0は、ユーザーが資格情報を公開することなく、あるサイトのリソースへの制限付きアクセスを別のサイトに許可できるようにするプロトコルです。
類推1:今日の多くの高級車には、バレットキーが付いています。これは、駐車アテンダントに与える特別なキーであり、通常のキーとは異なり、1マイルまたは2マイル以上は車を運転できません。一部のバレットキーはトランクを開けませんが、その他のキーは機内の携帯電話のアドレス帳へのアクセスをブロックします。バレットキーが課す制限に関係なく、アイデアは非常に賢いです。通常のキーを使用してすべてのロックを解除しながら、特別なキーを使用して誰かに車へのアクセスを制限します。auth0からのsrc
類推2:銀行口座の申し込みフォームに記入するとします。ここでOauthは、申請者がフォームに入力する代わりに、Adhaarまたはパスポートを使用してフォームに入力することができます。
ここでは、次の3つのエンティティが関係しています。
OAuthはすべて、承認の委任に関するものです(承認を実行できる人を選択します)。認証と承認は異なるものであることに注意してください。OAuthは承認(アクセス制御)であり、認証(ID検証)も実装する場合は、OAuthに加えてOpenIDプロトコルを使用できます。
Facebook、Google、Githubなどのすべての大企業は、最近この種の認証/承認を使用しています。たとえば、Googleアカウントを使用してこのWebサイトにサインインしただけです。これは、Stackoverflowが私のパスワードを知らないことを意味し、Googleから許可が与えられ、私のパスワード(明らかにハッシュ化されています)が保存されます。これには多くの利点があります。近い将来、すべてのWebサイトで複数のアカウントを作成する必要はなくなります。1つのWebサイト(最も信頼できる)を使用して、他のすべてのWebサイトにログインできます。したがって、覚える必要があるのは1つのパスワードだけです。
OAuth
Facebook / GoogleボタンでSOアカウントにサインアップしたときに起こりました。
ソース:OAuth1サービスプロバイダー
OAuthは認証のオープンスタンダードであり、インターネットユーザーがパスワードを公開せずにMicrosoft、Google、Facebook、またはTwitterアカウントを使用してサードパーティのWebサイトにログインする方法として一般的に使用されています。
OAuthは、リソース所有者(facebook、google、tweeter、microsoft liveなど)から使用されるプロトコルであり、必要な情報を提供したり、サードパーティのシステム(サイトなど)に書き込み成功の許可を提供したりします。ほとんどの場合、OAuthプロトコルがなければ、クレデンシャルは、これらのシステム間の通信の不適切な方法となるサードパートシステムで使用できるはずです。