Hatena::ブログ(Diary)

r-weblife RSSフィード Twitter

2009/11/08

OAuth関連トピックキャッチアップ : Y!は1.0クローズ、Gはanonymous OAuthを実装

■ Yahoo! IncのOAuthがRev Aのみになる

Yahoo!Incは今まで、4月にセキュリティの問題が見つかった際に一時的にOAuthのシステムを止めましたが、その後はユーザーに警告画面を出すものの動作はするように戻していました。

よって、OAuth Core 1.0とその問題が修正された仕様のOAuth Core 1.0aの両方の仕様でOAuthを利用できる状態になっていたのです。

これは既にOAuth Core 1.0を利用していたアプリケーションへの配慮だったのだと思われますが、11/9にOAuth Core 1.0のほうの仕様ではOAuthの処理ができなくなるようです。

1.0aの説明を利用ガイドに追記したり、もう十分開発者に対してサポートしたのでクローズするってところでしょうか。

もうちょっと早くても良かったような。。。

ちなみに、Yahoo! JAPANのOAuthは1.0aのみです。

2009年4月下旬にOAuth Core 1.0の仕様にセキュリティ問題があることが発表されました。

Yahoo! JAPANのOAuthはその問題を解決したOAuth Core 1.0 Revision Aという仕様に従っています。この仕様に加え、Yahoo! JAPANはOAuth Session Extensionという拡張仕様を導入しています。

Yahoo! JAPANがOAuthのService Providerになりました! (Yahoo! JAPAN Tech Blog)

GoogleがAnonymous OAuthを実装

OAuthとOpenIDとの比較でもよく言われてきたことですが、OAuthはConsumerとSPの間に事前登録が必要です。

Consumerがアプリケーションの情報やRSA PubKeyを登録したり、SPがConsumerKey/Secretを発行したりするわけです。

Googleはこのたび、この事前登録が不要であるAnonymous OAuthとでもいうべき実装をしたとブログで発表しました。

1. The ability to use OAuth without registration

Based on consistent feedback from our developers, we added the ability to use OAuth without having to register the website ahead of time. This change is especially helpful for developers working on test servers that cannot be accessed directly from the Internet.

OAuth Enhancements - The official Google Code blog

これはいったいどういうことなのでしょうか?

ドキュメントを追ってみます。

Applications making OAuth requests to Google can be either registered or unregistered, but must sign all requests.

...

Although most Google services allow access to unregistered applications, some require more secure access.

OAuth 1.0 for Web Applications - Authentication and Authorization for Google APIs - Google Code

ということで、Googleの中には情報レベル?が低い情報もあるからそいつらは事前登録なしでも出しちゃうってことなんですかね。

では、次に実装方法について見ていきます。

If your application is not registered, select HMAC-SHA1 and use the following key and secret:

consumer key: "anonymous"

consumer secret: "anonymous"

OAuth 1.0 API Reference - Authentication and Authorization for Google APIs - Google Code

consumer key,secretをanonymousにしてHMACの署名つけろと言っています。

その署名って意味があるのかちょっと気になりますが。

では、実際の処理を見てみます。

Googleが提供しているOAuth PlayGroundを使ってやってみます。

OAuth Playground

長くなりそうだったので動作確認の結果をスライドにまとめました。

この件についてはもう少し考えて別途エントリ書きたいと思います。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/ritou/20091108/1257615948