私はリングセッションラッパーを使用して現在のユーザーに関連付けられたOAuthトークンを格納するコンポジットアプリケーションを持っています。サーバーが再起動したときにこのトークンを利用可能にしておきたいので、毎回認証プロセスを経る必要はありません。Compojure/Ring:なぜ、クッキーストアを使用したセッションはサーバーの再起動時に存続しませんか?
私は、デフォルトのメモリストアの代わりにクッキーストアを使用すると助けになると思っていましたが、そうはなりません。私は何が欠けていますか?
これは、コードの関連部分である:
(defn auth-callback-handler
[session {code :code}]
(let [token (retrieve-token code)]
(-> (redirect "/") (assoc :session (assoc session :token token)))))
(defroutes app-routes
(GET "/" {session :session} (root-handler session))
(GET "/auth-callback" {session :session params :params} (auth-callback-handler session params))
(route/not-found "Not Found"))
(def app
(-> (handler/site app-routes)
(wrap-session {:store (cookie-store {:key "a 16-byte secret"})})))
機能root-handler
は、誰かがログインされているかどうかを判断するためにトークンを使用していますが、セッション情報の仕方には何も返しません。