すべてのAPIリクエストは、ベアラートークンによって認証されます。このページでは、何もない状態から最初のリクエストが成功するところまでを案内し、その後API自体でトークンを取得する方法と、トークンを失効させる方法を説明します。
以下の例に出てくる https://kollek.example.com は、お使いのインスタンスのアドレスに置き換えてください。APIはそのアドレスの /api 以下にあります。
https://kollek.example.com
/api
トークンを取得する最も簡単な方法は、プロフィールからAPIキーを作成することです。
アプリでプロフィール設定を開き、APIキーに移動します。キーを作成し、後で見分けられるようなラベル、例えば「レポート用スクリプト」を付けます。
::screenshot{label="新規キー作成フォームが表示されたプロフィール設定のAPIキーページ"}
トークンは作成直後の一度だけ表示されます。今すぐコピーして、パスワードマネージャーなど安全な場所に保管してください。紛失した場合は、そのキーを失効させて新しいキーを作成してください。
トークンは Authorization ヘッダーに入れて送信します。最初のリクエストとしては、自分自身のユーザー情報を返す /api/me が適しています。
Authorization
/api/me
curl https://kollek.example.com/api/me \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Accept: application/json"
自分のユーザー情報を記述したJSONが返ってくれば、認証は成功しています。キーの作成や失効、それぞれの最終使用日時の確認については APIキーを管理する を参照してください。
トークンは自動的には失効しません。あなたが失効させるまで使い続けられるため、トークンはパスワードと同じように扱ってください。
自分の認証情報を管理するスクリプトや連携システムに向いた方法として、HTTPだけで完結する認証も可能です。
メールアドレスとパスワードでログインすると、トークンを受け取れます。
curl -X POST https://kollek.example.com/api/login \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{ "email": "you@example.com", "password": "your-password", "device_name": "Reporting script" }'
レスポンスの data.token にトークンが含まれます。任意の device_name を指定すると、後でキーの一覧からそのトークンを見分けやすくなります。
data.token
device_name
知っておくべき点が2つあります。
code
POST /api/register
どちらのエンドポイントも1分あたり6リクエストに制限されています。実際のサインインには十分な回数であり、総当たり攻撃を防ぎます。
方法は2つあります。
DELETE /api/logout
KolleKは、アプリからキーが作成または削除されたときにメールを送信するため、意図しないキーの操作を見逃すことはありません。ログインとセキュリティに関するアラートメール を参照してください。
/docs/api
このページの内容