2012-03-09 14 views
2

シンプルなサービスで自分のREST APIをロールしたいと思います。私は利用可能なreq/secの点で異なる3つの基本的な計画を持っていたいと思います。api-keyの違法コピーからAPIサービスを保護する方法

キーの切り替えを防ぐ簡単な方法はありますか?誰かが "エンタープライズ" APIキーを購入して他の人に送るとしましょう。現在、他の人は実際にこのサービスを支払うことなく "エンタープライズ"レベルの機能にアクセスできます。

もちろん、私は何らかのレート制限を実装しますが、それは重要ではありません。 APIキーを実際に購入した人にAPIを提供したいだけです。

ありがとうございます!

+0

1つのキーにつき1つのアクティブな接続のみがオプションになりますか? – honeyp0t

答えて

2

APIキーのみを使用してこれを行う方法はありません。あなたは特定のIPアドレスから特定のAPIキーを受け付けるようなことをしようとすることもできますが、それには多大な問題があります。これを確実に行う唯一の方法は、クライアントに認証を強制することです。

これを行うには、ユーザー名/パスワードを使用します。ユーザー名/パスワードを確認して確認し、そのユーザー名がプラン/サービスにアクセスできるかどうかを確認する必要があります。相互認証されたSSLを使用してこれを行うこともできます。クライアントで自己署名入りのクライアントID証明書を発行し、サービスに接続したときに認証に使用し、ルックアップを実行してそのクライアントが計画/サービス。どちらの場合でも、標準のHTTP経由でユーザー名とパスワードを使用しないようにSSLを実装する必要があることに注意してください。

+0

それは私が探していた答えです。ありがとう! – Pono

関連する問題