これは、devise のトークン認証機能を使用する前に行いました ( https://github.com/plataformatec/deviseを参照)。
次のセットアップが機能することがわかりました。
- API ユーザーごとにユーザー アカウントを作成します。
- トークン認証用にデバイスを構成する
- 各リクエストでトークンの送信を要求するようにトークン認証構成を設定します。
これにより、個々のユーザーを有効または無効にしたり、呼び出しを行った API ユーザーへのすべてのリクエストを追跡したりできます。
使用状況の追跡に本当に関心がある場合は、すべての API 要求を追跡するデータベース テーブルの作成も検討することをお勧めします。これをbelong_to
ユーザー テーブルに設定すると、さまざまなユーザーからのすべての要求を簡単に見つけることができます (例: @user.api_requests
)。
ユーザーが行ったすべてのリクエストの数は次のようになります。
@user.api_requests.count
# or use a where clause to find how many of each type
@user.api_requests.where("api_request_type = ?", 'SomeAPICallType').count
最後に 1 つ -- 私は最近、API の構築に Grape ライブラリを使用しました。とてもよくできていて、私たちのニーズにぴったりだと思いました。特に、API をバージョン管理する機能が気に入っています。詳細はこちら:https ://github.com/intridea/grape/wiki