WSSE認証から OAuth への移行
WSSE から OAuth への移行
現在 WSSE 認証を利用しているアプリケーションは、次の3つのステップで OAuth へと移行できます。
1. アプリケーションを登録する
OAuth のご利用にはアプリケーションの登録が必要です。アプリケーションを「Myはてな」から登録すると Consumer key と Consumer secret の2つのキーが発行されます。詳しくははてな OAuth 解説ページをご覧ください。
「Myはてな」のアプリケーション設定ページで、ユーザーに許可を求める操作 (scope) を指定できます。 WSSE ではすべての操作が可能でしたが、 OAuth ではユーザーが許可した操作のみ行えます。どの操作権限が必要であるかは、 Hatena Developer Center の各 API ドキュメントに記載されています。例えばはてなフォトライフの投稿 API には write_private 権限が必要ですので、設定ページで選択しておきます。
2. アクセス許可の取得を実装する
OAuth では実際の操作の前にまずユーザーがアプリケーションにアクセス許可を与える必要があります。ユーザーがアクセス許可を与えると、はてなからアプリケーションに Access token (token と token secret の2つのキー) が発行されます。詳しくははてな OAuth 解説ページをご覧ください。多くのプログラミング言語で OAuth 1.0a 用のライブラリーが開発されており、はてなの OAuth にも利用できます。
3. API を利用する
OAuth は、ステップ1で得た Consumer key と Consumer secret、ステップ2で得た Access token と token secret の4つの値を使います。はてなIDとパスワードから WSSE 仕様に従い HTTP 要求にヘッダーを追加していた処理のかわりに、 OAuth 1.0a 仕様に従い HTTP 要求メッセージを生成するようにします。
WSSE の例
GET /atom/feed HTTP/1.0
Host: f.hatena.ne.jp
Authorization: WSSE profile="UsernameToken"
X-WSSE: UsernameToken Username="foobarbaz==", PasswordDigest="abcdefabcabc=",
Nonce="TSrBadeHVF+XhPQ7Mv97WUvNI8Q=", Created="2010-01-29T07:11:27Z"
OAuth の例
GET /atom/feed HTTP/1.0
Host: f.hatena.ne.jp
Authorization: OAuth realm="", oauth_consumer_key="foobar%3D%3D",
oauth_nonce="3a9b18967b7f4ea11a31", oauth_signature="QmfilqnZHpE8pZbO18%2BqaDaZmzg%3D",
oauth_signature_method="HMAC-SHA1", oauth_timestamp="1005081709",
oauth_token="barbaz%3D", oauth_version="1.0"
OAuth 1.0a の詳細は RFC 5849 をご参照ください。また、この処理も多くのプログラミング言語でライブラリーが用意されています。
WSSE 認証で利用できるはてなの API は、いずれもそのまま OAuth 認証でも利用できます。 URL や引数などは元のまま、認証部分だけ OAuth に差し替えることで OAuth にスムーズに移行できます。
Basic 認証から OAuth への移行
Basic 認証を利用している場合も、WSSE 認証の場合と同様の手順で OAuth に移行できます。
はてな認証API からの移行
はてな認証APIは、はてなIDを使ったログイン機能をアプリケーションに提供するための独自の認証APIです。これと同等の機能は、はてなの提供する OAuth や OpenID により実現できます。
OAuth の場合、ユーザーのはてなIDやニックネームなどの情報をユーザー情報取得APIにより取得できます。
なお、はてな認証APIには2種類のプロフィールアイコンの URL の情報が含まれていますが、 OAuth ユーザー情報取得APIには1種類のみしか含まれておらず、 OpenID ではプロフィールアイコンの URL を取得する方法がありません。プロフィールアイコンの URL が必要であれば、はてなユーザーアイコンに記載されている URL をご活用ください。
変更履歴
- 2013年10月3日 公開