OAuth
OAuth (オー オース[1]) は、ブレイン・クックとクリス・メッシーナが始めたオープンプロトコルであり、デスクトップ、モバイル、WebアプリケーションなどにセキュアなAPI認可 (authorization) の標準的手段を提供する。
背景
マッシュアップによるWebサービスの連携が増え、デジタルアイデンティティの共有が問題となってきた。OpenIDのような連合アイデンティティが解決策として登場したが、これはIDの持ち主による認証手段であって、それによってどのリソースにアクセスできるかという認可については扱っていない。あるWebサービスAにユーザーの個人情報があるとき、そのWebサービスAと別のWebサービスBが連携し、WebサービスAにある個人情報をWebサービスBが自由にアクセスできる状況は好ましくない。そのため、WebサービスのAPIへのアクセスを認可する手段が必要とされていた。
歴史
2006年11月、ブレイン・クックはTwitterでのOpenID実装を行っていた。同じ頃、ソーシャルブックマークサイトの Ma.gnolia は、会員がOpenIDを使ってDashboardウィジェットからサービスにアクセスすることを認可する方法を必要としていた。そこでクックとクリス・メッシーナ、Ma.gnolia のラリー・ハーフはデビッド・リコードン(当時ベリサイン)と会い、OpenIDを使ってTwitterやMa.gnoliaのAPIの認証委譲する方法を議論した。その結果、APIアクセス委譲についてのオープン標準はまだ存在しないという結論に達した。
OAuth のインターネットコミュニティは2007年4月に誕生し、少人数で新たなオープンプロトコルの草案を書いた。OAuthプロジェクトのことを知ったGoogleのデウィット・クリントンは、支援を表明した。2007年7月、チームは仕様の草案を完成させた。Eran Hammer-Lahav が加わって多数の協力者の調整を行い、より正式な仕様を作成していった。2007年10月3日、OAuth Core 1.0 の最終草案がリリースされた。
2008年11月、ミネアポリスで開かれた第73回のIETF会合でOAuthの非公式会合も開かれ、さらなる標準化に向けてIETFにOAuthプロトコルを提案するかどうかを議論した。会合は盛況で、IETFで正式にOAUTHワーキンググループを立ち上げることに幅広い支持が得られた。
セキュリティ
2009年4月23日、OAuth 1.0にセキュリティ問題があることが判明した。これは OAuth Core 1.0 Section 6 にあるOAuth認可フロー(3-legged OAuth)に影響がある[2]。この問題は、OAuth 1.0a にて修正された。
OAuth 2.0
OAuth 2.0は次世代のOAuthプロトコルであり、OAuth 1.0とは後方互換性を持たない。OAuth 2.0はクライアントとなるウェブアプリケーション、デスクトップアプリケーション、スマートフォン、リビングデバイス等のアプリケーションの開発者に対し、リソースアクセス権限を付与する簡単な方法を提供する。この規格は開発途上である。 [3] Eran Hammer-Lahavによれば、IETF OAuthワークグループは2010年終わりごろまでの範囲での締結を期待していた[4]が作業は大幅に遅延し、2012年8月にようやくRFCエディタへ送付された。 仕様は中心になる The OAuth 2.0 Authorization Framework [5] の他、[6]など幾つかに分割されている。
facebookの新しいGraph APIはOAuth 2.0 Draft 10 のみをサポートし、OAuth 2.0 としては最大の実装の一つである。[7] 2011年現在、Google[8] およびマイクロソフトは[9] OAuth 2.0による実験的なAPIを提供している。
脚注
- ^ For immediate release: OAuth Core 1.0 Specification released at Internet Identity Workshop 公式ブログ内に「OAuth (pronounced “Oh-Auth”)」の記載あり
- ^ Oauth (2009年4月23日). “OAuth Security Advisory: 2009.1”. 2009年4月23日閲覧。
- ^ “The OAuth 2.0 Authorization Protocol” (2011年2月16日). 2011年11月28日閲覧。
- ^ Eran Hammer-Lahav (2010年5月15日). “Introducing OAuth 2.0”. 2011年3月14日閲覧。
- ^ “Dick Hardt, Ed. "The OAuth 2.0 Authorization Framework"”. 2016年3月30日閲覧。
- ^ “Michael B. Jones, Dick Hardt, "The OAuth 2.0 Authorization Framework: Bearer Token Usage"”. 2016年3月30日閲覧。
- ^ “Authentication - Facebook Developers”. developers.facebook.com. 2011年11月28日閲覧。
- ^ “Making auth easier: OAuth 2.0 for Google APIs”. googlecode.blogspot.com (2011年3月14日). 2011年11月28日閲覧。
- ^ Dare Obasanjo (2011年5月4日). “Announcing Support for OAuth 2.0”. windowsteamblog.com. 2011年11月28日閲覧。
関連項目
外部リンク
- OAuth.net
- OAuth.jp
- OAuth Googleグループ
- Beginner’s Guide to OAuth on Hueniverse
- Google OAuth & Federated Login Research
- Yahoo! OAuth Quick Start Guide
- OpenID Foundation Japan - 翻訳・教育 Working Group OAuth 1.0 & 2.0翻訳版など
- APIアクセス権を委譲するプロトコル、OAuthを知る 作島立樹、@IT、2008年1月21日
- 特集:ゼロから学ぶOAuth 真武信和、gihyo.jp、2009年3月31日
- OAuth 2.0でWebサービスの利用方法はどう変わるか 木村篤彦、@IT、2011年2月2日
- 「OAuth」の基本動作を知る Nov Matake、@IT、2012年8月27日