Hatena::ブログ(Diary)

naoyaのはてなダイアリー

April 24, 2006

はてな認証API

はてな認証APIをリリースしました。

2月末に Flickr の API を調べたりしてから、いろいろ他のことをやってたりしてちょっと時間が空いちゃいましたが、先週合宿にいって一気に仕上げました。一緒にはてなフレームワークに梃子入れしつつ作ったりしてたので思ったより時間がかかってしまった。

とりあえずは、はてなのアカウント名を外のアプリケーションで使える、というところまでできるようにしました。Flickr API とかだと、ここでトークンが取得できてさらにそのトークンを使って写真を投稿したりプライベートな写真を取ったりいろいろできるのですが、その辺はおいおい。

ここが使いづらいとかこういう風になってた方がいいというリクエストなどがありましたら是非教えてください。トラックバック、コメントそのほか何でもいいです。よろしくお願いします。

hyukihyuki 2006/04/24 22:32 すでに届いているような気もしますが。
実装してみて気になった点。認証APIでの「説明文を用意するURL」と「認証のコールバックURL」が無関係でもよいというのはまずいのではないか。というのは、ユーザが「許可を与える」というボタンを押すときに見えているのは説明文のURLだけだから。
また、適切な説明文やサンプルコードなども提供されてほしいです。
ともあれ、認証API公開に感謝!

naoyanaoya 2006/04/24 22:39 どうもです。わざわざ実装まで。ありがとうございます。

コールバックと説明のURLが同じドメインであることを強制してしまうと一部の blog ツールみたいに、公開されてるページとアプリケーションのドメインが異なる、みたいなもので利用できないという問題があります。

と、なるとコールバックURLも公開されるのがいいのかなとも思いました。その場合コールバックは後からでも変更できてしまうので、コールバックを変更しらそれまで得た許可はすべて破棄される、なども考慮しないと完全ではないですね。

cho45cho45 2006/04/24 22:41 http://auth.hatena.ne.jp/help/api の auth.json のURLが間違ってるっぽいです。
http://api.hatena... になってます(はまった
ご存知かな……

naoyanaoya 2006/04/24 23:11 おっと、直します!

naoyanaoya 2006/04/24 23:12 直しました!

hyukihyuki 2006/04/24 23:58 APIが将来変わったとき用にバージョン番号を埋め込んでおいたほうがよいかもしれません。APIキーで対応可能(織り込み済み)というのなら問題ありませんけれど。

hyukihyuki 2006/04/25 00:09 ユーザがidとパスワードを入れる画面というのはとてもセンシティブなものだと思います。これまでは、はてなの中で閉じていたからよいのですが、今回の認証APIでそこが少し変化しますよね。ユーザのミスを誘って第三者のパスワードを奪うアプリケーションは比較的容易に書けそうな気がします。
たとえば、何人かに一回だけ、サードパーティ側で「はてなのパスワード入力画面にそっくりの画面」を出して「パスワードが誤っています、もう一度入力してください」と表示されたら、うっかり入力する人が出てきそうです(何人かに一回だけ表示するのはばれにくくするため)。そのあたりをどう *一般ユーザに* アナウンスするかが重要だと思います。
また逆に、開発者側としては、ユーザへの「このアプリはこういうものですよ」という案内文のひながたのようなものがほしいな、と感じます。

cho45cho45 2006/04/25 01:21 >URL
確認しました。ありがとうございます

naoyanaoya 2006/04/25 01:39 そうですねえ、はてなは認証APIを公開しているけれども、ユーザーID/パスワードをはてなのサイト上以外で求めることは絶対にないということを周知する必要はありそうです。

雛形についても了解です。認証画面にもう少し説明を加えてみます。

hiuchidahiuchida 2006/04/26 01:31 「はてな認証APIはシングルサインオンAPIになる(なっている)のでしょうか!?」
cookieに保存すればなる?
ブラウザを閉じるまでの間はなる?
等々。
試してみれば分かるかもしれませんが、聞いちゃった方が早いので・・。

TransFreeBSDTransFreeBSD 2006/04/30 02:33 https?://www.hatena.ne.jp/login から http://auth.hatena.ne.jp/auth へリダイレクトした時、認証されていなければ https://www.hatena.ne.jp/login へリダイレクトせず、一旦認証に失敗した旨をだした方がよいと思います。
auth.hatena.ne.jp へクッキー許可してなくて、「ログインしてます」とかいわれて?になりました。

aodagaodag 2007/03/14 00:15 python wsgiで実装しました。

kakehikakehi 2007/06/11 02:32 はじめまして、はてな認証APIを利用してみました。

ヘルプにあります「api_key や api_sig 以外のパラメータを含めた場合」についてですが、api_key や api_sig 以外のパラメータの値に、&が含まれていると、認証エラーになってしまっているように思えます。使い方がまずいのでしょうか・・・
例えば、foo=a=123&b=456 こんな感じのパラメータをつけたいと思っています。ちなみにurlencodeはかけておりません。

utalabutalab 2007/06/11 11:44 初めまして。


はてな認証を利用した、ちょっと変わった使い方?をしてみました。

今回無料Webアプリを公開しました。
http://cf.utalab.com/index.cfm?go=home.view&kbn=webapp&cat_id=5

Webアプリはダウンロードしてもらって、ローカルPCにColdFusionデベロッパー版をインストールしてもらい、その上で動作します。

認証手順はこんな感じです。

Webアプリ(ローカルPC) −> cfうたらぼサイト −> はてな認証

cfうたらぼ経由により、だれ(はてなID)がいつログインしたかを把握することができます。
キラーアプリがでれば、はてな会員も増えるかも!と期待しています。
次のWebアプリは蔵書管理の予定です。