イントロダクション¶
ユーザーとアプリケーション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呼び出しを行う事ができます。これは遅延が大きいネットワークを使用するモバイルクライアントで特に有用です。