Browse Source

fix(token): add extra time to deal with some critical condtions

defclass 5 years ago
parent
commit
bbf76eb87f
2 changed files with 3 additions and 4 deletions
  1. 1 2
      src/main/frontend/helper.cljs
  2. 2 2
      src/main/frontend/state.cljs

+ 1 - 2
src/main/frontend/helper.cljs

@@ -36,9 +36,8 @@
       (if (and (map? token-state)
                (string? expires_at))
         (let [expires-at (tf/parse (tf/formatters :date-time-no-ms) expires_at)
-              request-time-gap (t/minutes 5)
               now (t/now)
-              expired? (t/after? now (t/minus expires-at request-time-gap))]
+              expired? (t/after? now expires-at)]
           {:exist? true
            :expired? expired?
            :token token})

+ 2 - 2
src/main/frontend/state.cljs

@@ -519,9 +519,9 @@
                   (if (string? token)
                     ;; Github API returns a expires_at key which is a timestamp (expires after 60 minutes at present),
                     ;; however, user's system time may be inaccurate. Here, based on the client system time, we use
-                    ;; 60-minutes duration directly.
+                    ;; 40-minutes interval to deal with some critical conditions, for e.g. http request time consume.
                     (let [formatter (tf/formatters :date-time-no-ms)
-                          expires-at (->> (t/plus (t/now) (t/minutes 60))
+                          expires-at (->> (t/plus (t/now) (t/minutes 40))
                                           (tf/unparse formatter))]
                       (merge repo {:token token :expires_at expires-at}))
                     (do (log/error :token/cannot-set-token {:repo-m repo :token-m m}) repo))))