2016-07-17 16 views
0

App Engineでバックグラウンドタスクを実行する方法を調べています。 タスクキューが良い選択だと思われます。しかし、タスクキューはユーザーログインをどのように扱うのですか? 私の理解は、タスクキューがタスクを実行し、アプリケーションにHTTPクエストを送信するときですが、すべてのリソースが保護され、ユーザーコンテキストが必要な場合、どのように処理する必要がありますか?App Engineタスクキューセキュリティコンテキスト

答えて

2

タスクキューでは管理専用のエンドポイントを使用できます。たとえば、タスクのペイロードにユーザーIDを含め、管理専用のURLで実行し、実行時にユーザーIDが正しいと信頼できるようにします。

これはあなたのサーブレットはタスクキュー固有のヘッダー(https://cloud.google.com/appengine/docs/java/taskqueue/push/creating-handlers#reading_request_headersを参照)に依存している可能性があり、Googleのドキュメントhere

1

に説明されています。これらはGoogle App Engineによって内部的に設定されるため、信頼できます。

また、キュータスクプロセッサ(ユーザID、トークンなど)にデータを渡すためにパラメータ(https://cloud.google.com/appengine/docs/java/taskqueue/push/exampleを参照)を使用できます。