KiiCloud

ひとりKii Cloud Advent Calendar 2014-12-15

More than 3 years have passed since last update.

この記事は、ひとりKii Cloud Advent Calendarの15日目の記事です。


15日目「管理者権限でログイン」

サーバーからKii CloudのAPIを叩く場合、特定のユーザーとしてAPIを叩くのではなく、アプリ全体の管理者としてAPIを叩きたくなる。例えば、ユーザーの申告で管理画面からデータを修正したい時などなど。

今回は、管理者権限でログインする方法。とりあえず取得したアクセストークンを表示してみる例。

<?php

// require here

$context = new KiiContext(APP_ID, APP_KEY, SITE);
$api = new KiiAppAPI($context);

try {
$api->loginAsAdmin(CLIENT_ID, CLIENT_SECRET);
echo 'ok token='. $context->getAccessToken();
} catch (CloudException $e) {
echo 'failed to login '. $e->getStatus();
}
?>

CLIENT_IDとCLIENT_SECRETは6日目の、App ID / App Keyを取得する時に表示されるCLIENT IDとCLIENT SECRETの値。この2つが外部に漏れると、アプリを完全に乗っ取れるので取り扱いにはご注意を。

Android版と同じく、既に手元にアクセストークンがある場合はloginAsAdmin()を呼ばなくてもログイン状態に出来る。PHP版はKiiContextオブジェクトが保持している。

// トークンは定数として埋め込んでもいいけど漏洩に注意

$context->setAccessToken($savedToken);