fix: decode username for jwt

This commit is contained in:
rcmerci
2023-03-30 15:07:16 +08:00
committed by Tienson Qin
parent 961e091f1d
commit edb3ad48a0

View File

@@ -28,13 +28,21 @@
;;; userinfo, token, login/logout, ...
(defn- decode-username
[username]
(let [arr (new js/Uint8Array (count username))]
(doseq [i (range (count username))]
(aset arr i (.charCodeAt username i)))
(.decode (new js/TextDecoder "utf-8") arr)))
(defn- parse-jwt [jwt]
(some-> jwt
(string/split ".")
second
js/atob
(#(.decodeString ^js crypt/base64 % true))
js/JSON.parse
(js->clj :keywordize-keys true)))
(js->clj :keywordize-keys true)
(update :cognito:username decode-username)))
(defn- expired? [parsed-jwt]
(some->