
あなたは あったかい?。。I Caught a Leaf… Yum (via Cynthia Lou (bei bei))
778:
OAuthの概念
OAuthとは
OAuthは,以下の特徴を持つ「認可情報の委譲」のための仕様です。
* あらかじめ信頼関係を構築したサービス間で
* ユーザの同意のもとに
* セキュアにユーザの権限を受け渡しする
サービス間で認可情報を受け渡せると,あるサービスがユーザの認可のもとで別のサービスの管理する情報の取得/追加/更新/削除などを行えるようになります。OAuthに対応したサービスでは,ユーザが外部サービスにパスワードを教えることなく,認可情報の委譲が可能です。また認可情報の適用範囲を指定したり,有効期限を設定することができるため,ユーザが外部サービスにすべての権限を渡すこと無く,自分が利用したいサービスに最低限必要な権限のみを委譲することができます。そのためBasic認証と比べて柔軟かつセキュアな運用が可能です。
たとえば,外部サービスに自身のGmailのアドレス帳へのアクセス権限を与えたい場合,そのサービスにGmailのメールアドレス&パスワードを教えてしまうと,それらの情報が他のGoogleサービスでも悪用される危険性があります。極端な例ですが,最悪の場合は外部サービスにパスワードを変更され,Gmailアカウントを完全に乗っ取られることもあるでしょう。しかし,OAuthではパスワードを渡すこと無く認可情報を委譲することができ,さらに委譲する権限をGmailアドレス帳の読込権限に限定したり有効期限を設けることで,委譲のリスクを最小限に抑えることができます。
認可情報の委譲を行う似たような仕様には,GoogleやYahoo!,Flickr,Facebookなどが独自に提供しているものもありますが,OAuthがそれらと大きく違うのは,仕様がオープンなことです(もちろん皆さんは,オープンな仕様を好むでしょう?)。
最近ではGoogle,Yahoo!,TwitterなどのAPIでも独自認証やBasic認証と併用する形でOAuthのサポートが広がっています。またOpenSocialでのOAuthの利用やOpenIDとOAuthのハイブリッド仕様など,その他のオープンな仕様との連携も注目されています。
”| — | http://gihyo.jp/dev/feature/01/oauth/0001 |
(via MadMamacitas)