私はRESTful APIを設計し始めました。認証を処理する方法について考えています。私は何らかの認証トークンを使用したいが、同様のインフラストラクチャをOAuthで使用することはできないので、私はそれを自分で処理しなければならない。RESTful APIに認証トークンを格納する場所
このAPIの要件の1つは、拡張する必要が生じる前に大量の要求を処理するのに十分なパフォーマンスが必要であることです。私の懸案事項は、トークン(完全性、有効期限、IPアドレスなど)を検証するために必要な時間を、可能な限り少なくする方法です。
トークンは、復号化時間が重くなるため、ユーザー情報を含む暗号化された文字列ではなく、ある種のハッシュである必要があります。
私は、キーがトークンであり、その値が要求を処理するのに必要なユーザー情報であるメモリ内のハッシュテーブルにトークンを格納できると読んだが、クラスタ化された環境でこの作業を行うにはどうすればよい各ノードにハッシュテーブルが存在する場所はどこですか?
DBテーブルにトークンを置く必要があります毎回DBにヒットしますか?期限切れのチケットの保持を手動で処理しますか?
質問にはそれほど重要ではないかもしれませんが、私はSpring MVCをRESTfull APIに使用しています。
ありがとうございます。
[REST API認証トークン]の複製が可能です(http://stackoverflow.com/questions/7919533/rest-api-authentication-tokens) – mayabelle
@mayabelleフィードバックありがとうございます。私はポストが私のニーズをカバーしているとは思わない。私の質問は:私はハッシュテーブルまたは類似(私はおそらくGoogle Guavaのタイムドキャッシュに行く)を使用している場合どのようにNLB環境でキャッシュを共有するのですか?トークンをチェックする必要があるたびにDBを使用してDBに検索するか、より良い方法がありますか? – Nicola