0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-02-10 00:58:26 -05:00

Merge pull request #4764 from penpot/niwinz-audit-enhancements

 Forward external session id to backend
This commit is contained in:
Alejandro 2024-06-19 07:56:11 +02:00 committed by GitHub
commit bb63375933
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 21 additions and 8 deletions

View file

@ -141,6 +141,7 @@
(::rpc/profile-id params)
uuid/zero)
session-id (rreq/get-header request "x-external-session-id")
props (-> (or (::replace-props resultm)
(-> params
(merge (::props resultm))
@ -150,8 +151,10 @@
(clean-props))
token-id (::actoken/id request)
context (d/without-nils
{:access-token-id (some-> token-id str)})]
context (-> (::context resultm)
(assoc :external-session-id session-id)
(assoc :access-token-id (some-> token-id str))
(d/without-nils))]
{::type (or (::type resultm)
(::rpc/type cfg))

View file

@ -130,9 +130,16 @@
(def worker-uri
(obj/get global "penpotWorkerURI" "/js/worker.js"))
(defn external-feature-flag [flag value]
(when-let [fn (obj/get global "externalFeatureFlag")]
(fn flag value)))
(defn external-feature-flag
[flag value]
(let [f (obj/get global "externalFeatureFlag")]
(when (fn? f)
(f flag value))))
(defn external-session-id
[]
(let [f (obj/get global "externalSessionId")]
(when (fn? f) (f))))
;; --- Helper Functions

View file

@ -168,7 +168,7 @@
ptk/EffectEvent
(effect [_ _ stream]
(let [session (atom nil)
stopper (rx/filter (ptk/type? ::initialize) stream)
stopper (rx/filter (ptk/type? ::initialize) stream)
buffer (atom #queue [])
profile (->> (rx/from-atom storage {:emit-current-value? true})
(rx/map :profile)
@ -213,7 +213,9 @@
(let [session* (or @session (dt/now))
context (-> @context
(merge (:context event))
(assoc :session session*))]
(assoc :session session*)
(assoc :external-session-id (cf/external-session-id))
(d/without-nils))]
(reset! session session*)
(-> event
(assoc :timestamp (dt/now))

View file

@ -97,7 +97,8 @@
request {:method method
:uri (u/join cf/public-uri "api/rpc/command/" nid)
:credentials "include"
:headers {"accept" "application/transit+json,text/event-stream,*/*"}
:headers {"accept" "application/transit+json,text/event-stream,*/*"
"x-external-session-id" (cf/external-session-id)}
:body (when (= method :post)
(if form-data?
(http/form-data params)