mirror of
https://github.com/penpot/penpot.git
synced 2026-08-01 02:46:20 +00:00
🐛 Fix nitrate ignores sso token expiration (#10921)
This commit is contained in:
parent
a722a33503
commit
3eb50ef50e
@ -459,9 +459,10 @@
|
|||||||
(let [{:keys [status body]} (http/req cfg req {:skip-ssrf-check? (:skip-ssrf-check? provider)})]
|
(let [{:keys [status body]} (http/req cfg req {:skip-ssrf-check? (:skip-ssrf-check? provider)})]
|
||||||
(if (= status 200)
|
(if (= status 200)
|
||||||
(let [data (json/decode body)
|
(let [data (json/decode body)
|
||||||
data {:token/access (get data :access_token)
|
data {:token/access (get data :access_token)
|
||||||
:token/id (get data :id_token)
|
:token/id (get data :id_token)
|
||||||
:token/type (get data :token_type)}]
|
:token/type (get data :token_type)
|
||||||
|
:token/expires-in (get data :expires_in)}]
|
||||||
(l/trc :hint "access token fetched"
|
(l/trc :hint "access token fetched"
|
||||||
:token-id (:token/id data)
|
:token-id (:token/id data)
|
||||||
:token-type (:token/type data)
|
:token-type (:token/type data)
|
||||||
@ -619,6 +620,9 @@
|
|||||||
(some? (:external-session-id state))
|
(some? (:external-session-id state))
|
||||||
(assoc :external-session-id (:external-session-id state))
|
(assoc :external-session-id (:external-session-id state))
|
||||||
|
|
||||||
|
(some? (:token/expires-in tdata))
|
||||||
|
(assoc :sso-token-exp (ct/in-future {:seconds (:token/expires-in tdata)}))
|
||||||
|
|
||||||
;; If state token comes with props, merge them. The state token
|
;; If state token comes with props, merge them. The state token
|
||||||
;; props can contain pm_ and utm_ prefixed query params.
|
;; props can contain pm_ and utm_ prefixed query params.
|
||||||
(map? (:props state))
|
(map? (:props state))
|
||||||
@ -899,10 +903,9 @@
|
|||||||
(let [organization-id (:organization-id state)
|
(let [organization-id (:organization-id state)
|
||||||
sso (nitrate/call cfg :get-org-sso {:organization-id organization-id})
|
sso (nitrate/call cfg :get-org-sso {:organization-id organization-id})
|
||||||
provider (prepare-org-sso-provider cfg sso)
|
provider (prepare-org-sso-provider cfg sso)
|
||||||
;; verify token or throw error
|
info (get-info cfg provider state code)
|
||||||
_info (get-info cfg provider state code)
|
|
||||||
session (session/get-session request)
|
session (session/get-session request)
|
||||||
exp (ct/in-future {:hours 48})]
|
exp (or (:sso-token-exp info) (ct/in-future {:hours 48}))]
|
||||||
(when (and session organization-id)
|
(when (and session organization-id)
|
||||||
(let [props (-> (or (:props session) {})
|
(let [props (-> (or (:props session) {})
|
||||||
(update :sso assoc organization-id exp))]
|
(update :sso assoc organization-id exp))]
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user