mirror of
https://gitlab.com/wheres-the-tp/server.git
synced 2026-01-25 07:54:57 -06:00
cache authenticated tokens for faster response
This commit is contained in:
parent
50657ef22d
commit
dfe3309432
1 changed files with 6 additions and 2 deletions
|
|
@ -2,14 +2,18 @@
|
|||
(:require [buddy.auth.backends :as backends]
|
||||
[clj-http.client :as client]))
|
||||
|
||||
(def tokens (atom {}))
|
||||
|
||||
(defn facebook-me [token]
|
||||
(client/get (str "https://graph.facebook.com/me?access_token=" token) {:accept :json}))
|
||||
|
||||
(defn facebook-me-ok [token]
|
||||
(= (:status (facebook-me token)) 200))
|
||||
(= 200 (:status (facebook-me token))) (swap! tokens assoc (keyword token) true))
|
||||
|
||||
(defn facebook-token-auth [_ token]
|
||||
(if (facebook-me-ok token) token))
|
||||
(cond
|
||||
(get @tokens (keyword token)) token
|
||||
(facebook-me-ok token) token))
|
||||
|
||||
(def auth-backend
|
||||
(backends/token {:token-name "facebook-token" :authfn facebook-token-auth}))
|
||||
Loading…
Add table
Reference in a new issue