HomeTravel ReportLocal FoodRail&BusAirportMileagemiscAbout Me
TechWiki
Updated : January 2011

DekiWiki authtoken

DekiWikiではログインの状況をCookieで管理している。

Login画面からログインした時に、「authtoken」として有効期間7日でcookieに設定している。

    

authtoken(cookie)の設定方法

http://(DekiWikiホスト)/@api/deki/users/authenticateに対して、Basic認証のAuthorizationヘッダを付加してアクセスする。

Authorizationヘッダのユーザ名、パスワードで認証がされると、cookieにauthtokenが設定されて応答が返ってくる。

応答メッセージからcookie情報を抜き出しブラウザへのcookieを設定する。

Login処理例(PHP: PEAR、HTTP_requestパッケージ使用)


require_once "HTTP/Request.php";
function login($userid, $passwd){
$url = http://(DekiWikiホスト)/@api/deki/users/authenticate;
 
$http = new HTTP_Request($url);
$http->setBasicAuth($userid, $passwd);
$response = $http->sendRequest();
 
if (!PEAR::isError($response)) {
$code = $http->getResponseCode();
if ($code == 200){
$cookie_deki = $http->getResponseCookies();
setcookie("authtoken",str_replace("\"","",$cookie_deki[0]['value']),time()+3600, '/');
return 0;
}
else{
return $code;
}
}
else{
return 1;
}
}

authtokenの削除

Logout時などでログイン状態を破棄するには、cookieの削除を行う。

Expire Dateとして過去時刻を設定することでよい。

PHPコード例


setcookie('authtoken', '', time()-3600, '/');


Copyright(c) 2012-2013 T.F.T. All rights reserved.