TwitterのOAuthってなんぞ?

1,388 views

Published on

[Hakodate.* LT]OAuth入門

  • Be the first to comment

  • Be the first to like this

TwitterのOAuthってなんぞ?

  1. 1. TwitterのOAuthってなんぞ? 山中雅俊 / 猫ロキP Hakodate.* メンバー
  2. 2. 事故自己紹介 • 猫ロキP / 山中雅俊 – TwitterID: @deflis – 公立はこだて未来大4年生。内定しました。 • 一時期、C#でTwitterクライアント作ってました。 • 車載生とかラノベ紹介やってるニコ生主です – http://nico.ms/co108 Twitterアイコン→
  3. 3. Twitterって? • いわずとしれた、「つぶやきサービス」 でもみなさん OAuth って知ってますか?
  4. 4. OAuth 出典: フリー百科事典『ウィキペディア(Wikipedia)』 OAuth (オーオース) は、ブレイン・クックとクリ ス・メッシーナが始めたオープンプロトコルであ り、デス クトップ、モバイル、Webアプリケーショ ンなどにセキュアなAPI認可 (authorization) の 標準的手段を提供する。
  5. 5. 端的に言えば? • OAuthはAPIを認証するためのオープンプロト コル。 • TwitterでAPIを認証するのに必要だったから 作ったプロトコル。
  6. 6. どんな仕掛け? ク ラ A イ P ア I ン 提 ト 供 ア 者 プ リ
  7. 7. どんな仕掛け? トークン取得(開発者) ク ラ A イ P ア I ン 提 ト 供 ア 者 プ リ
  8. 8. どんな仕掛け? トークン取得(開発者) ク 認証 ラ A 認証トークン取得リクエスト イ P ユーザー 認証トークン ア I 認証URL ユーザーが許可 ン 提 PINコード アクセストークン取得リクエスト ト 供 リダイレクト アクセストークン ア 者 プ リ
  9. 9. どんな仕掛け? 認証 ク アクセストークン ラ A イ P ア I APIアクセスのヘッダーに ン 提 認証情報を付けてアクセス ト 供 ア 者 プ ここのヘッダーがややこしい! リ
  10. 10. ヘッダーの中身 • トークンと秘密トークン – 実はトークンは2つ有ります。 • アクセスしているURL(?~を除く) • リクエストの内容 – RFC3984準拠でURIエンコード – ?~とかPOSTの内容とか • 時刻、ランダムな文字列 • 上記の内容をエンコードした署名(ハッシュ) – HMAC-SHA1 もしくは RSA-SHA1 以上をアルファベット順にソート
  11. 11. ヘッダーについて補足 • 実はこのヘッダー、トークンを取りに行くときも 使います。 • HMAC-SHA1は.NETでハッシュ生成できます。 – Compact Frameworkにはないので注意。 • RFC3984準拠のエンコードは.NET4から。 – RFC3984=IPv6世代のエンコード。 – .NET3.5まではRFC 1738 準拠しか選べない。
  12. 12. まとめ • 自分で実装すると、ややこしいのでいろいろとラ イブラリ使った方がいいよ! – 実は俺も一つ作ってます。 – http://github.com/deflis/NekoVampire.Library • xAuthはOAuthの認証関係をある程度省略? – まだ時間がないので詳しくは調べてません。 • 5分だとここまでが限界?
  13. 13. おわり ご静聴ありがとうございました。

×