feat(login): add *token-updated atom

This commit is contained in:
rcmerci
2021-12-29 17:09:15 +08:00
parent 8a9ef0e4cf
commit 1606facfbc
2 changed files with 11 additions and 3 deletions

View File

@@ -76,6 +76,10 @@
;;; userinfo, token, login/logout, ...
(def *token-updated
"used to notify other parts that tokens updated"
(atom false))
(defn- parse-jwt [jwt]
(some-> jwt
(string/split ".")
@@ -114,16 +118,19 @@
(defn- clear-tokens []
(state/set-auth-id-token nil)
(state/set-auth-access-token nil)
(state/set-auth-refresh-token nil))
(state/set-auth-refresh-token nil)
(swap! *token-updated not))
(defn- set-tokens!
([id-token access-token]
(state/set-auth-id-token id-token)
(state/set-auth-access-token access-token))
(state/set-auth-access-token access-token)
(swap! *token-updated not))
([id-token access-token refresh-token]
(state/set-auth-id-token id-token)
(state/set-auth-access-token access-token)
(state/set-auth-refresh-token refresh-token)))
(state/set-auth-refresh-token refresh-token)
(swap! *token-updated not)))
(defn login-callback [code]
(go