イントロダクション

ユーザーとアプリケーションAPI

APIアクセスには2つのタイプがあります:

アプリケーション API

  • 設定ページから利用可能なトークンとユーザーの "jsonrpc" でAPIにアクセスする
  • 全てのプロシージャにアクセスできる
  • 権限のチェックをしない
  • サーバーにユーザーのセッションを持たない
  • "My・・・"で始まるプロシージャにはアクセスできない (例:“getMe” or“getMyProjects”)
  • クライアントの例: データのマイグレーション/インポートのためのツール, 別のシステムからのタスク作成, 等・・・

ユーザー API

  • ユーザーの資格情報(ユーザー名とパスワード)を使用してAPIにアクセスする
  • パスワードの代わりに個人アクセストークンを生成することもできます
  • プロシージャ毎にアプリケーション上の役割と権限がチェックされます
  • サーバー上にユーザーのセッションが生成されます
  • クライアントの例: ネイティブなモバイル/デスクトップアプリケーション, コマンドラインユーティリティ, 等・・・

セキュリティ

  • 常に有効な証明書と共にHTTPS接続を行う (平分通信を避ける)
  • モバイルアプリケーションを開発する場合、責任をもってデバイス上にユーザーの資格情報を安全に保存する
  • ユーザーAPIでの認証が3回失敗したら、エンドユーザーはログインフォームを使用させアカウントのロックを解除しなければならない

警告

Kanboard v1.2.8 以降では、ユーザーが2要素認証を利用するにはAPIキーを有効化しなければなりません。

プロトコル

Kanboardは外部プログラムと対話するプロトコルに Json-RPC を使用します。

JSON-RPC は JSON でエンコードされる遠隔手続呼び出しのプロトコルです。XML-RPC とほぼ同様ですが、JSON フォーマットを使用します。

我々は JSON-RPC 2.0 を使用します。APIの呼び出しは POST HTTP リクエストで行わなければなりません。

Kanboardはバッチ処理をサポートしているので、一つのHTTPリクエストで複数のAPI呼び出しを行う事ができます。これは遅延が大きいネットワークを使用するモバイルクライアントで特に有用です。