まずは開発したアプリケーションを登録してください。
まずは会員登録またはログインしてください
下記のパラメータを付与して認証用 URL としてください
http://wassr.jp/auth/?app_key={APP_KEY}&sig={SIG}
| app_key | アプリケーションキー(登録時に発行されます) | 必須 |
| sig | URLの正当性を証明するためのシグネチャです(下記に詳細を解説) | 必須 |
| perms | ユーザーに何を求めるか。login_id と token の二種類が指定可能。login_id を指定した場合はログインIDのみ得られる。token を指定した場合にはヒトコトを更新するためのトークンが得られる。この API を単に認証用に使う場合には login_id を使えばよい。デフォルトは token。 | 任意(optional) |
sig の生成は下記の手順によりおこないます
perl の場合には Digest::HMAC_SHA1 モジュールにより簡単に実装できます
下記に Perl による実装例を示す
use strict;
use warnings;
use Digest::HMAC_SHA1;
die "Usage: $0 app_key secret_key\n" unless @ARGV==2;
my ($app_key, $secret_key) = @ARGV;
my $hma = Digest::HMAC_SHA1->new($secret_key);
$hma->add('app_key');
$hma->add($app_key);
print "http://wassr.jp/auth/?app_key=@{[ $app_key ]}&sig=@{[ $hma->hexdigest ]}\n";
認証完了後、アプリケーション登録時に登録したコールバックURLにコールバックされます。
コールバックURLには ?hmac=61f1234e33cc8d9c043e4d285094b155d07b0523 のような文字列が付与されます。これは下記の例でいえば token, BOOFY を連結して hmac sha1 hexdigest を算出したものに等しいです。このパラメータを用いてクエリの正当性を確認してください。
コールバックする際に、?token=BOOFY というパラメータが付与されます。
このとき付与されたトークン(例では BOOFY)をBasic認証のパスワードとして、 通常のログイン時に発行されるパスワードの代わり更新APIにてヒトコトを更新できます
これにより、ヒトコトを更新するサイトにてユーザーのログインID/パスワードを取得することなくトークンのみでヒトコトを更新できます
コールバックする際に、?login_id=tksk というパラメータが付与されます。
このときに付与されたログインID(例では tksk)によりユーザーを識別できます