- » Kindle
- » iBooks
- » kobo
- » B.W.
- 300円
- » Kindle
- » iBooks
- » kobo
- » B.W.
- 200円
- » Kindle
- » iBooks
- » kobo
- » B.W.
- 200円
- » Kindle
- » iBooks
- » kobo
- » B.W.
- 400円
- » Kindle
- » iBooks
- » kobo
- » B.W.
- 600円
- » Kindle
- » iBooks
- » kobo
- » B.W.
- 100円
- » Kindle
- » iBooks
- » kobo
- » B.W.
- 200円
- » Kindle
- » iBooks
- » kobo
- » B.W.
- 490円
- » Kindle
- » iBooks
- » kobo
- » B.W.
- 200円
doncha.net制作・発行:KindleやiBooks、楽天kobo、BOOK☆WALKERで読む電子書籍
twitterのOAuthについて改めて

perlでtwitterのOAuth認証するまで概略。
(今まで何度か書いたと思って探したら、スゲーテキトーなことしか書いてなかった)
「OAuthとは」てのはわたしもよくわかってない。詳しいサイトがたくさんあるので興味のかたは検索して調べてください。
大雑把に。
ユーザーを識別するのに、IDとパスワードが必要になるんだけど「野良サービスにメールアドレスやパスワードを登録するのはどうなの?」「いろいろなところにIDやパスワードを登録しても忘れちゃうし」ということで不安だし不便。サービスを提供する側としてもユーザーのIDなどを管理するのはリスキー。
そこで、twitterやfacebook、yahoo、mixiなどすでに利用していて信用できそうなサイトにログインしたら、そのまま他のサービスも使えるようにする・twitterなどがユーザーを保証してくれるのがOAuth認証というやつ(言葉はたぶん間違ってる)
ウチの「創作文芸見本誌会場HappyReading」http://books.doncha.net/happy-reading/ で使っている。
1 同人誌の登録ページにログインする
2 twitterのログイン画面に飛ぶ
3 twitterでIDとパスワードを入力する
4 ウチのページに戻ってくる
2のこんな画面は見たことがあると思う。
・ユーザーはtwitterのアカウントがあれば、twitterのID・パスワードでウチも使える。
・ウチとしてはユーザーのIDやパスワードを管理しない(知らないまま)なのでリスクが少ない。
準備
https://dev.twitter.com/apps
↑まずはアプリをここで登録をする。
(WEBだったらCGIなどのサービス)
登録するとOAuthに使うパラメータというかトークンが設定されるのでメモ。
・Consumer key
・Consumer secret
・Access token
・Access token secret
以下のURLもメモ。
・Request token URL
ttps://api.twitter.com/oauth/request_token
・Authorize URL
ttps://api.twitter.com/oauth/authorize
・Access token URL
ttps://api.twitter.com/oauth/access_token
・Callback URL
http://example.com/test.cgi
(これは自分が登録したWEBサービスなど)
その1
consumer key と consumer secret、callback URLをパラメータに持ってtwitterにトークンを要求する。
ttps://api.twitter.com/oauth/request_token に以下のHEADERをつけてGETでアクセス。
その2
consumer key と consumer secret に問題がなければ、oauth_tokenを取得できる。
twitterのログインページ(上図 ttps://api.twitter.com/oauth/authorize)にoauth_tokenをパラメータにつけてリダイレクトする。
その3
twitterのログインページでアプリを承認をすると再びウチのページに戻ってくる。
その時、oauth_token と新たに oauth_verifier というパラメータを付けてくる。
その4
oauth_verifier をパラメータに追加して ttps://api.twitter.com/oauth/access_token にPOSTでアクセスする。
postのcontent
問題がなければ、oauth_token と oauth_secret と screen_name が取得できる。
後はこの oauth_token と oauth_secret を使って(セッションなど利用して)ユーザーがウチのサービスを使えるようにする。
補足:OAuth のパラメータ
URL
METHOD
oauth_callback
oauth_consumer_key
oauth_nonce(一意のランダムな文字列)
oauth_signature(署名)
oauth_signature_method(署名の方法 HMAC-SHA1)
oauth_timestamp(タイムスタンプ timeの出力)
oauth_version(oauthのバージョン)
署名の作り方についてはこのあたり→ 「token secretの保存」 (2009/12/26)
ここんとこ、ツイート1のスパムアカウントからのフォローが断続的に続いて、いちいち手動でスパムブロックするのが面倒になったので、一括スパム報告するスクリプトを作ってみたら…OAuthなどずいぶんいろいろ忘れてたので、備忘録。
もの忘れが激しい。とほほ。
» ローカル環境で電子書籍を作る、Macアプリ・Windows版ツール 「かんたんEPUB3作成easy_epub」