SlideShare a Scribd company logo
TwitterのOAuthってなんぞ?


山中雅俊 / 猫ロキP
Hakodate.* メンバー
事故自己紹介

• 猫ロキP / 山中雅俊
 – TwitterID: @deflis
 – 公立はこだて未来大4年生。内定しました。
• 一時期、C#でTwitterクライアント作ってました。
• 車載生とかラノベ紹介やってるニコ生主です
 – http://nico.ms/co108

     Twitterアイコン→
Twitterって?

• いわずとしれた、「つぶやきサービス」

     でもみなさん

      OAuth
        って知ってますか?
OAuth
出典: フリー百科事典『ウィキペディア(Wikipedia)』



OAuth (オーオース) は、ブレイン・クックとクリ
ス・メッシーナが始めたオープンプロトコルであ
り、デス クトップ、モバイル、Webアプリケーショ
ンなどにセキュアなAPI認可 (authorization) の
標準的手段を提供する。
端的に言えば?

• OAuthはAPIを認証するためのオープンプロト
  コル。

• TwitterでAPIを認証するのに必要だったから
  作ったプロトコル。
どんな仕掛け?

          ク
          ラ
A
          イ
P
          ア
I
          ン
提
          ト
供
          ア
者
          プ
          リ
どんな仕掛け?

    トークン取得(開発者)   ク
                  ラ
A
                  イ
P
                  ア
I
                  ン
提
                  ト
供
                  ア
者
                  プ
                  リ
どんな仕掛け?

     トークン取得(開発者)       ク
          認証           ラ
A   認証トークン取得リクエスト      イ
P                            ユーザー
       認証トークン
                       ア
I                            認証URL
           ユーザーが許可     ン
提                     PINコード
    アクセストークン取得リクエスト    ト
供                     リダイレクト
      アクセストークン         ア
者
                       プ
                       リ
どんな仕掛け?

        認証            ク
     アクセストークン
                      ラ
A
                      イ
P
                      ア
I
    APIアクセスのヘッダーに     ン
提   認証情報を付けてアクセス
                      ト
供
                      ア
者
                      プ
     ここのヘッダーがややこしい!
                      リ
ヘッダーの中身
• トークンと秘密トークン
 – 実はトークンは2つ有ります。
• アクセスしているURL(?~を除く)
• リクエストの内容
 – RFC3984準拠でURIエンコード
 – ?~とかPOSTの内容とか
• 時刻、ランダムな文字列
• 上記の内容をエンコードした署名(ハッシュ)
 – HMAC-SHA1 もしくは RSA-SHA1

以上をアルファベット順にソート
ヘッダーについて補足

• 実はこのヘッダー、トークンを取りに行くときも
  使います。
• HMAC-SHA1は.NETでハッシュ生成できます。
 – Compact Frameworkにはないので注意。
• RFC3984準拠のエンコードは.NET4から。
 – RFC3984=IPv6世代のエンコード。
 – .NET3.5まではRFC 1738 準拠しか選べない。
まとめ

• 自分で実装すると、ややこしいのでいろいろとラ
  イブラリ使った方がいいよ!
 – 実は俺も一つ作ってます。
 – http://github.com/deflis/NekoVampire.Library

• xAuthはOAuthの認証関係をある程度省略?
 – まだ時間がないので詳しくは調べてません。

• 5分だとここまでが限界?
おわり


ご静聴ありがとうございました。

More Related Content

PDF
OAuth認証再考からのOpenID Connect #devlove
PDF
これからのネイティブアプリにおけるOpenID Connectの活用
PDF
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)
PDF
インシデント調査システムが内製すぎる件~CHAGEのご紹介~
 
PDF
実装して理解するLINE LoginとOpenID Connect入門
PDF
JWT Translation #technight
PDF
Spring'15 Update - Named Credential & Long Running Callout
PDF
Whats wrong oauth_authn
OAuth認証再考からのOpenID Connect #devlove
これからのネイティブアプリにおけるOpenID Connectの活用
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)
インシデント調査システムが内製すぎる件~CHAGEのご紹介~
 
実装して理解するLINE LoginとOpenID Connect入門
JWT Translation #technight
Spring'15 Update - Named Credential & Long Running Callout
Whats wrong oauth_authn

Viewers also liked (6)

PDF
SugarCRM meets Azure
PDF
Twitter in Hitachiohta 2
PPT
Twitterを使って伝わるWEBへ
PDF
Twitter in Hitachiohta 3
PDF
Sns 2
PDF
アニメの公式アカウントのフォロワー数をつぶやくTwitterボットを作ってみた
SugarCRM meets Azure
Twitter in Hitachiohta 2
Twitterを使って伝わるWEBへ
Twitter in Hitachiohta 3
Sns 2
アニメの公式アカウントのフォロワー数をつぶやくTwitterボットを作ってみた
Ad

Similar to TwitterのOAuthってなんぞ? (20)

PDF
API提供におけるOAuthの役割 #apijp
PPT
PFI Seminar 2012/02/24
PDF
なんとなくOAuth怖いって思ってるやつちょっと来い
PPT
PPTX
「Windows Phone アプリ と 認証」のまとめ
PDF
kitproライトニングトーク
PDF
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
PDF
今更聞けないOAuth2.0
PDF
WordCamp Tokyo2016itkaasan
PDF
Twitter API
PDF
twitterと悪のOAuth
PDF
FAPI Security について聞いてきた話(2017/08/18 社内勉強会)
PDF
OAuth 2.0の概要とセキュリティ
PPTX
OAuth認証について
PDF
OpenID Connect, December 2011
PDF
OAuth2.0によるWeb APIの保護
PDF
Twitter連携chrome extension作り方
PDF
091009 Identity Conference #6 ritou
PDF
ゼロからはじめるサーバーサイド Vol2
PDF
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
API提供におけるOAuthの役割 #apijp
PFI Seminar 2012/02/24
なんとなくOAuth怖いって思ってるやつちょっと来い
「Windows Phone アプリ と 認証」のまとめ
kitproライトニングトーク
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
今更聞けないOAuth2.0
WordCamp Tokyo2016itkaasan
Twitter API
twitterと悪のOAuth
FAPI Security について聞いてきた話(2017/08/18 社内勉強会)
OAuth 2.0の概要とセキュリティ
OAuth認証について
OpenID Connect, December 2011
OAuth2.0によるWeb APIの保護
Twitter連携chrome extension作り方
091009 Identity Conference #6 ritou
ゼロからはじめるサーバーサイド Vol2
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
Ad

More from deflis (6)

PPTX
Heartbleed脆弱性について
PPTX
Cloud Core VPSにマイクラ鯖を立てた話
PDF
HTML5でギャルゲーを作れるか?
PDF
北海道の南端で勉強会やります
PDF
Windows使いのための仮想マシン入門
PDF
Linq To Fun
Heartbleed脆弱性について
Cloud Core VPSにマイクラ鯖を立てた話
HTML5でギャルゲーを作れるか?
北海道の南端で勉強会やります
Windows使いのための仮想マシン入門
Linq To Fun

TwitterのOAuthってなんぞ?