はてな認証APIを使いたいと思い、説明ページを読み始めたところなのですが、

わからない事ばかりなので質問させて下さい。

はてな認証API説明ページ: http://auth.hatena.ne.jp/help/api 内 ■ 3. ログイン用のリンクを作成する のところに、

* api_sig 以外に指定するパラメータを、パラメータ名でアルファベット順にソートする

* ソートされたパラメータを、"パラメータ名" "そのパラメータの値" の順ですべて文字列連結する

* 秘密鍵とこの連結されたパラメータ文字列「秘密鍵 + 連結したパラメータ文字列」の順で更に文字列連結する

* できあがった文字列を MD5 hex に変換する

とあります。

①api_sig 以外に指定するパラメータ というのはどういうものがありますか?

②MD5 hex に変換 という意味は何をどこでどのようにすれば良いのでしょうか?


宜しくお願い申し上げます。

回答の条件
  • URL必須
  • 1人5回まで
  • 登録:
  • 終了:2007/01/17 00:24:59
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:Yuichirou No.1

回答回数112ベストアンサー獲得回数36

ポイント60pt

1. api_sig 以外に指定するパラメータ

まずそのサービスに割り当てられたAPIキーを指定する api_key があります。

それに加えて、コールバックURLのCGIに送信したいパラメータをここで指定できます。


「コールバックURLのCGIに送信したいパラメータ」というのは、例えば、

http://auth.hatena.ne.jp/auth?api_key={api_key}&api_sig={api_sig}&foo=bar&hoge=fuga

というURLではてな認証APIのログイン画面に飛ばすと、認証終了後に、

http://hoge.example.net/callback?cert={cert}&foo=bar&hoge=fuga

というようなURLでコールバックしてくれる、ということです。

何かはてなでのログイン処理の前後で伝えたいデータがあれば、これを使えばよいわけです。


2. MD5 hex に変換

MD5とは、1991年に開発されて以来長らく使われているポピュラーなハッシュ関数です。

参照:http://ja.wikipedia.org/wiki/MD5

この関数に任意のバイナリを入れると、ある128ビットの数値(これをハッシュ値という)を出力します。

このハッシュ値を16進数に変換すると32文字の文字列になりますが、これをapi_sigの値に設定すればよいのです。

MD5の関数がどこにあるかはプログラミング言語に依りますが、例えばPerlやRubyには「Digest::MD5」という(たまたまながら同じ名前の)ライブラリがありますので、これを使えばいいと思います。

id:SumireS

ご説明の内容について理解能力が不足しておりますので、自主学習してみますね。

回答ありがとうございました。

2007/01/11 02:46:47
  • id:taknt
    パラメーターって秘密鍵とかapi_keyじゃないのかな?
  • id:SumireS
    taknt様
    コメントありがとうございます。

    では考えずに手順を進めればよいわけですね?

    『api_sig 以外に指定するパラメータを』と書いてあって、【以外】にの語句が気になってしまって・・・

    あぁ~難しい・・


この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません