私は、この状況を適切に実装する方法を教えてくれることを期待しています。ユーザーごとのPythonフラスコセッションとそのオブジェクト
私は複数の同時ユーザー用のフラスコアプリを構築しています。このアプリは本質的に認証を必要とするバックエンドのRESTfulサービスをラップし、コマンドの送信を許可します。ユーザーはフラスコアプリ自体にログインする必要はありませんが、Restfulサービスへのオブジェクトの認証に使用する認証情報を提供します。そのため、各ユーザーはそれぞれのセッションに固有のオブジェクトを必要とします。使いやすさ/怠惰のために、私はいくつかの簡単な情報をいくつかの変数に保存しています(session['x']
)。
セッション情報は各ユーザーに一意ではなく、「ログイン」する最後のユーザーが以前のユーザーの認証オブジェクトを壊すように見えます。
これを構築する適切な方法は何ですか? session
変数をオブジェクトに移動することはできますが、それでもすべてのユーザーが独自のバックエンドオブジェクトを必要とするという問題が残ります。真のフラスコログインを実装する必要がありますか?
コードを表示する必要があります。リクエスト間で認証オブジェクトをどのように保持しているのかよく分かりません。セッションに格納していますか?あなたがしなければならないことは、セッションからのユニークなデータに応じて、リクエストごとにそれを再作成することです。 –
私はオブジェクトをアプリケーション全体でグローバル変数として永続化しました。 (私が知っているのは悪いです)。私はむしろ時間のかかる高価なものであるため、すべての要求を再認証したくないでしょう。私はオブジェクトを 'session'に永続化することはできないので、これが本当の問題だと思います。すなわち、ユーザセッションごとにオブジェクトを永続化する方法です。 – KHibma
さて、私はあなたができる方法を見ていない。ユーザー固有のものを格納する場所は、セッションまたはdbに限られます。しかし、これがREST APIの場合、おそらく毎回再認証する必要はなく、トークンを受け入れるOAuthのようなものを使用していると考えられます。 –