diff --git a/src/aretherecookies/auth.clj b/src/aretherecookies/auth.clj index de28ead..895e2c9 100644 --- a/src/aretherecookies/auth.clj +++ b/src/aretherecookies/auth.clj @@ -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})) \ No newline at end of file