OAuth1 認証 リクエストトークン発行まで
- 2015年06月24日
- CATEGORY- 1. 技術力{技術情報}
こんにちは、松野です。
今日はOAuthの勉強をしたいと思います。
OAuthを簡単にざっくり説明すると
GoogleやYahoo、
使う側ではユーザIDとパスワードを意識しなくてもよくなる仕組
CodeIQなんかも、
このOAuthを使ったプログラムを書いてみましょう。
長いので何回かに分けて書きます。
まず、OAuthには1と2があり、それぞれ認証方法が違うので
まずはOAuth1(今回はTwitterを使用)
※
まず、OAuth1使用するのに必要なのは
アプリのConsumerKeyとConsumerSecret
それを取得するために、
https://apps.twitter.com/
※アプリ登録まで解説するとかなり時間かかりそうなので、
アプリ登録をしたら、このような画面が出ると思います。
このConsumerKeyとConsumerSecretを使
下記URLに、下記値をPOSTしますが、
※この際に、
取得用URL https://api.twitter.com/oauth/
oauth_consumer_key=コンシュマーキー
oauth_nonce=ランダムな文字列
oauth_signature_method=HMAC-
oauth_timestamp=10桁の時間(
oauth_version=1.1
まず、取得用URLをURLエンコードします。
https%3a%2f%2fapi%2etwitter%
そしてパラメータをすべて&
oauth_consumer_key%3dコンシュマーキー%
最後に、文字列 POST とエンコード済み取得用URLとエンコード済みパラメータを&
POST&https%3a%2f%2fapi%
この値をConsumerSecret + “&” を使いHmacSHA1で暗号化して、
この時点で送信する値は
取得用URL https://api.twitter.com/oauth/
oauth_consumer_key=コンシュマーキー
oauth_nonce=ランダムな文字列
oauth_signature_method=HMAC-
oauth_timestamp=10桁の時間(
oauth_version=1.1
oauth_signature=
この値を送れば、リクエストトークンが取得できるので、
http://api.twitter.com/oauth/
にリダイレクトさせれば、認証画面に飛ばせます。
とりあえず今回は認証画面を出すところまでやりました。
次回は、そこからユーザIDを取得する方法をやりますので乞うご期待!
【関連記事】
ハニーポットについて (1)サーバーを立てる
ハニーポットについて (2)アクセスログ有効活用方法
TopCoderをやろう!
TopCoderをやろう 等差数列の問題
今月はTopcoderじゃなくてCodeIQ!
俺googleのページランクのアルゴリズム知ってるんだぜ!
サメの種類と生態
プログラマならできて当たり前、fizzbuzz問題
- 2015年06月24日
- CATEGORY- 1. 技術力{技術情報}