環境:
- モバイル アプリ (steroids/cordova) の検索フィールドに typeahead/bloodhound を使用しています。
- アプリから API へのすべてのリクエストに署名が必要で、署名が認証ヘッダーに追加されます
ブラッドハウンドが送信する各リクエストは異なり、異なる署名が必要になるため、明らかに ajax 設定でヘッダーを設定しても機能しません。
私の最初の実装では、beforeSend
これを達成するために ajax 設定を使用していました。その関数で署名を計算し、それをリクエスト ヘッダーに追加するだけです。
ただし、これはあまり安全ではなかったため、使用するシークレットと署名の計算を Cordova カスタム プラグインのネイティブ コードに配置してコンパイルすることにしました。防弾ではありませんが、妥当な量のセキュリティです。
Cordova プラグインは非同期であるためbeforeSend
、この場合は役に立たなくなりました。関数は、ヘッダーの署名と設定が完了する前に完了します。
要約すると、問題は次のとおりです。typeahead/bloodhound を使用してこれらのヘッダーを非同期に計算して設定するにはどうすればよいですか?