@abtnode/blocklet-services 1.16.34-beta-20241204-140321-4d75ca21 → 1.16.34-beta-20241206-124652-493dbc39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/libs/connect/session.js +4 -4
- package/api/libs/open-graph/index.js +1 -1
- package/api/middlewares/check-federated.js +157 -0
- package/api/routes/blocklet.js +19 -13
- package/api/routes/federated.js +529 -573
- package/api/routes/oauth.js +38 -55
- package/api/routes/user-session.js +239 -214
- package/api/routes/user.js +52 -45
- package/api/services/auth/connect/invite.js +1 -1
- package/api/services/auth/connect/issue-passport.js +1 -1
- package/api/services/auth/session.js +31 -9
- package/api/util/attach-shared-utils.js +6 -6
- package/api/util/federated.js +28 -72
- package/dist/assets/Add-Dr8htRSM.js +1 -0
- package/dist/assets/{Alert-XwCbbCdw.js → Alert-gRD_jJCj.js} +1 -1
- package/dist/assets/ArrowDropDown-DI04xnPr.js +1 -0
- package/dist/assets/{Autocomplete-CtKfl8OV.js → Autocomplete-DPolRnqk.js} +1 -1
- package/dist/assets/{Avatar-BuTYVz6S.js → Avatar-D6TPuXUP.js} +1 -1
- package/dist/assets/{ButtonGroup-9mTO_MUt.js → ButtonGroup-BcLw8gsE.js} +1 -1
- package/dist/assets/{CSSTransition-VPmtoKE7.js → CSSTransition-DdlHGsuR.js} +1 -1
- package/dist/assets/CheckCircle-BPxn_ieu.js +1 -0
- package/dist/assets/ChevronLeft-5FOp5_pf.js +1 -0
- package/dist/assets/ChevronRight-PVflalU6.js +1 -0
- package/dist/assets/Delete-CaO8fR6N.js +1 -0
- package/dist/assets/DeleteOutline-PIJBVOmm.js +1 -0
- package/dist/assets/{DialogContentText-BSTFqlB8.js → DialogContentText-BvYfkPC9.js} +1 -1
- package/dist/assets/Done-Cqnr64ll.js +1 -0
- package/dist/assets/Download-Bv95-VOA.js +1 -0
- package/dist/assets/{EditIcon-D5uy6dXe.js → EditIcon-B2INxzak.js} +1 -1
- package/dist/assets/Error-vrb7fyQU.js +1 -0
- package/dist/assets/ExpandMore-B3TZX84r.js +1 -0
- package/dist/assets/{FormControl-D9UzJGr3.js → FormControl-BlJhfvE4.js} +1 -1
- package/dist/assets/{FormControlLabel-Ka9Y3VW4.js → FormControlLabel-DUahNTJi.js} +1 -1
- package/dist/assets/FormGroup-BhKveWGx.js +1 -0
- package/dist/assets/{Google-fmIzZ4SE.js → Google-2VzbESXy.js} +1 -1
- package/dist/assets/{Grid-CLg9BKgo.js → Grid-HlOuSRmU.js} +1 -1
- package/dist/assets/HelpOutline-pRqeT6i_.js +1 -0
- package/dist/assets/{Hidden-B_FCIv2F.js → Hidden-BIaa-blE.js} +1 -1
- package/dist/assets/InfoOutlined-CvA_NzdD.js +1 -0
- package/dist/assets/InputAdornment-mbNfreso.js +1 -0
- package/dist/assets/{LastPage-BNIPjfIv.js → LastPage-BI2XzpBc.js} +1 -1
- package/dist/assets/Launch-DIHn67BI.js +1 -0
- package/dist/assets/LaunchOutlined-DBAHz0tb.js +1 -0
- package/dist/assets/{Link-Dgz_hg-A.js → Link-SvE6tGEV.js} +1 -1
- package/dist/assets/{ListItemButton-COVroopz.js → ListItemButton-DRswm1pu.js} +1 -1
- package/dist/assets/{ListSubheader-DoFPqSxT.js → ListSubheader-Cedlz0t5.js} +1 -1
- package/dist/assets/{LoadingButton-Cpsng3ic.js → LoadingButton-1nXdJV1_.js} +1 -1
- package/dist/assets/{LockIcon-xMd6TgDT.js → LockIcon-BlUU7Km8.js} +1 -1
- package/dist/assets/Loop-Do-1bTcZ.js +1 -0
- package/dist/assets/MarkEmailRead-DJzwbP2x.js +1 -0
- package/dist/assets/Menu-4JehMzAB.js +1 -0
- package/dist/assets/MoreHoriz-BiDBSm9w.js +1 -0
- package/dist/assets/MoreVert-BHPy5yQk.js +1 -0
- package/dist/assets/OpenInNew-Ox-Wg6B7.js +1 -0
- package/dist/assets/{Pagination-BdODbVsE.js → Pagination-DtmO1FEC.js} +1 -1
- package/dist/assets/PlayArrow-D8oFKkOl.js +1 -0
- package/dist/assets/{QuestionMarkCircle-CeLvEIhA.js → QuestionMarkCircle-CRCb7vLB.js} +1 -1
- package/dist/assets/RadioGroup-CAeo2G7k.js +1 -0
- package/dist/assets/Search-B4FkzoeR.js +1 -0
- package/dist/assets/{Select-BM5xijW7.js → Select-pOhG5uV8.js} +2 -2
- package/dist/assets/{ServerLogo-CocwN-L6.js → ServerLogo-C3qS1K9u.js} +1 -1
- package/dist/assets/{Skeleton-BQ4gLbdR.js → Skeleton-XhcFgkuH.js} +3 -3
- package/dist/assets/Stack-BGVSv0bm.js +1 -0
- package/dist/assets/{Stepper-DPFFvB9h.js → Stepper-1oUkII92.js} +1 -1
- package/dist/assets/{TextField-CFRK87D0.js → TextField-BYIMGo2O.js} +1 -1
- package/dist/assets/{Toolbar-Ba22YRhW.js → Toolbar-MXTUjpSN.js} +1 -1
- package/dist/assets/ViewColumn-Dl8WBRoz.js +1 -0
- package/dist/assets/ViewList-Dw7InfFl.js +1 -0
- package/dist/assets/_createAggregator-CF3Ywu_Z.js +1 -0
- package/dist/assets/access-control-CPDqmVDW.js +13 -0
- package/dist/assets/{actions-R7d7-bh3.js → actions-DB6zFAt9.js} +1 -1
- package/dist/assets/{add-component-core-qARkFBQB.js → add-component-core-DpqYAR-R.js} +11 -11
- package/dist/assets/add-resource-BY7yN1M7.js +1 -0
- package/dist/assets/{addon-BJli1WRW.js → addon-cSEDcT4t.js} +1 -1
- package/dist/assets/{analytics-B3iUwhYK.js → analytics-CObVf_QD.js} +8 -8
- package/dist/assets/api-SlMwqh4b.js +1 -0
- package/dist/assets/{ar-7AvHBDLJ.js → ar-BENken66.js} +1 -1
- package/dist/assets/audit-logs-BMMQleD-.js +58 -0
- package/dist/assets/{base32-Mo2B3fHT.js → base32-Cky7ZH4x.js} +1 -1
- package/dist/assets/{branding-BThKyvoW.js → branding-DD9lnLdg.js} +2 -2
- package/dist/assets/bundle-avatar-D1CsKnAr.js +1 -0
- package/dist/assets/{button-eTEsJSJ0.js → button-C2skqS2y.js} +1 -1
- package/dist/assets/{click-to-copy-CkFI8a1W.js → click-to-copy-B_U6uers.js} +1 -1
- package/dist/assets/complete-Cm1aTSRB.js +45 -0
- package/dist/assets/{component-kGv-hUvT.js → component-CU-7h3yK.js} +2 -2
- package/dist/assets/{config-BVYueZpV.js → config-CKVwTxh4.js} +2 -2
- package/dist/assets/config-GyMHYuIo.js +1 -0
- package/dist/assets/{config-navigation-NUbYVs4N.js → config-navigation-DqtZRu1x.js} +1 -1
- package/dist/assets/config-space-xHVn7Zw_.js +1 -0
- package/dist/assets/{confirm-CIF7Vu-X.js → confirm-BYGcMOdN.js} +1 -1
- package/dist/assets/{connect-Dj-BrpmM.js → connect-7KX0ip82.js} +1 -1
- package/dist/assets/connect-Cjg3Lm4D.js +1 -0
- package/dist/assets/connect-to-BWP8Cqu6.js +1 -0
- package/dist/assets/{content-layout-DSpN7kL2.js → content-layout-8jsNhe-5.js} +1 -1
- package/dist/assets/dashboard-BZreJCiA.js +165 -0
- package/dist/assets/{de-S6ufmRx0.js → de-C8d8saMJ.js} +1 -1
- package/dist/assets/{deprecate-W6wP2f1U.js → deprecate-Bj3Q5Wi_.js} +1 -1
- package/dist/assets/{did-address-DpP51eII.js → did-address-7Sb16VSB.js} +1 -1
- package/dist/assets/domain-D-DYyZbR.js +9 -0
- package/dist/assets/domain-list-p_9GKY-M.js +15 -0
- package/dist/assets/email-Canxuwlg.js +18 -0
- package/dist/assets/emotion-cache.browser.esm-DRs-CTgF.js +1 -0
- package/dist/assets/{es-Sth9cv6C.js → es-8ZzWXB3U.js} +1 -1
- package/dist/assets/exchange-passport-Dv2bo20G.js +1 -0
- package/dist/assets/{fallback-CTOpqcoo.js → fallback-BlcEp1VL.js} +1 -1
- package/dist/assets/form-text-input-D26GlKxQ.js +11 -0
- package/dist/assets/{format-error-jTY-wvGv.js → format-error-Dk89U0uh.js} +2 -2
- package/dist/assets/{fr-BX6bo8e1.js → fr-CDmTLuDM.js} +1 -1
- package/dist/assets/{fuel-Dx06V-YR.js → fuel-DeEVMoW6.js} +1 -1
- package/dist/assets/{fullpage-Dz8PPWdq.js → fullpage-CFHcuwWr.js} +1 -1
- package/dist/assets/{hi-pYobKga6.js → hi-DfYUKMCb.js} +1 -1
- package/dist/assets/{home-BCoo1Guo.js → home-D7XPwTjK.js} +1 -1
- package/dist/assets/{id-Xei40tOm.js → id-BeY7iur-.js} +1 -1
- package/dist/assets/{iframe-GN8AUKA4.js → iframe-tSt_So8C.js} +1 -1
- package/dist/assets/{index-delqLXRr.js → index-3lBO8ivG.js} +8 -8
- package/dist/assets/{index-BXHMtAUn.js → index-6dmWRa5a.js} +2 -2
- package/dist/assets/{index-rA_BKM5G.js → index-B6vN1Pjj.js} +3 -3
- package/dist/assets/{index-W2CQmt_X.js → index-BaYuwQfE.js} +1 -1
- package/dist/assets/index-BilCISvf.js +1 -0
- package/dist/assets/{index-B_EeAcSB.js → index-Bk-KtZtw.js} +1 -1
- package/dist/assets/index-C-OENO3T.js +16 -0
- package/dist/assets/{index-Db_Y81_-.js → index-C56N3wab.js} +2 -2
- package/dist/assets/{index-CG1XIXZC.js → index-C89kYDNU.js} +1 -1
- package/dist/assets/{index-B3Z8DzsY.js → index-CNE2uXX8.js} +6 -6
- package/dist/assets/index-CPFKRWiW.js +316 -0
- package/dist/assets/{index-COdSzYad.js → index-CQuGc78Y.js} +2 -2
- package/dist/assets/{index-cIe0Ged1.js → index-CswkYvFG.js} +1 -1
- package/dist/assets/index-CuJzImxJ.js +1 -0
- package/dist/assets/index-CwEyBOgW.js +4 -0
- package/dist/assets/{index-CjkNshyI.js → index-D-G-CrJO.js} +1 -1
- package/dist/assets/{index-8OiEpVkg.js → index-D0CXo93j.js} +1 -1
- package/dist/assets/{index-UEoZJA9L.js → index-D2m633vu.js} +1 -1
- package/dist/assets/index-DQjLOWie.js +5 -0
- package/dist/assets/{index-CYQV6023.js → index-DbUU7z6J.js} +11 -11
- package/dist/assets/{index-B019qXp1.js → index-DcWx2h61.js} +1 -1
- package/dist/assets/{index-B3pPqycI.js → index-DfQHFN6t.js} +1 -1
- package/dist/assets/{index-ZPFypmuO.js → index-DsLePqKc.js} +1 -1
- package/dist/assets/{index-DgonWrzm.js → index-DsZCBFlr.js} +9 -9
- package/dist/assets/{index-BxKrUgd9.js → index-DtdETaBU.js} +70 -70
- package/dist/assets/{index-yi-655mj.js → index-EWrqmue5.js} +1 -1
- package/dist/assets/{index-BjfhU-QW.js → index-Ed6XamYf.js} +1 -1
- package/dist/assets/{index-BzVm0XuZ.js → index-I4Wjjc9p.js} +1 -1
- package/dist/assets/index-K-RQRB6f.js +1 -0
- package/dist/assets/{index-q1m8Euwz.js → index-Qbrukcer.js} +1 -1
- package/dist/assets/index-fU8Snm90.js +102 -0
- package/dist/assets/{index-Bs9TLgSC.js → index-hcyZSWah.js} +2 -2
- package/dist/assets/index-tap0PKb5.js +29 -0
- package/dist/assets/{index-BP0LEaeg.js → index-vQSgatpS.js} +8 -8
- package/dist/assets/{index-BidszMO2.js → index-vRY4Eqk5.js} +39 -39
- package/dist/assets/{invitation-BPrK4inJ.js → invitation-BTS9OmKY.js} +5 -5
- package/dist/assets/invite-DdlZu1iK.js +5 -0
- package/dist/assets/{isEmail-BnC4loew.js → isEmail-CmNEnnPO.js} +1 -1
- package/dist/assets/issue-passport-BOYK0sdW.js +1 -0
- package/dist/assets/item-DiOlNyoQ.js +1 -0
- package/dist/assets/{ja-DG0a06x8.js → ja-DvJTZg_Q.js} +1 -1
- package/dist/assets/{jss-plugin-props-sort.esm-Bp0MqRVc.js → jss-plugin-props-sort.esm-B0GYUqad.js} +6 -6
- package/dist/assets/{ko-BBC-RcU5.js → ko-C1lnK-Gx.js} +1 -1
- package/dist/assets/{launch-result-message-4m30f0Ag.js → launch-result-message-CU6VqlMp.js} +1 -1
- package/dist/assets/{layout-Btp-_hcD.js → layout-BLLz87sa.js} +2 -2
- package/dist/assets/{list-header-DQEePd_T.js → list-header-XuCMCGCV.js} +1 -1
- package/dist/assets/localization-ClU7HEEr.js +1 -0
- package/dist/assets/{log-DGIf8qzM.js → log-CzdQsoGM.js} +6 -6
- package/dist/assets/login-DxPcP1jX.js +1 -0
- package/dist/assets/login-oauth-callback-6aacB0AP.js +1 -0
- package/dist/assets/{logo-uploader-CC8WqbW-.js → logo-uploader-FwiUnYYD.js} +4 -4
- package/dist/assets/lost-passport-CP1WD-6W.js +168 -0
- package/dist/assets/{lottie-react.esm-CtltdV0t.js → lottie-react.esm-D7IQJqb8.js} +1 -1
- package/dist/assets/notifications-BuECL_6T.js +65 -0
- package/dist/assets/open-window-Bg3rwEW-.js +1 -0
- package/dist/assets/overview-CjXvkE0B.js +12 -0
- package/dist/assets/{page-header-B5a7RE0E.js → page-header-ByFkqYoX.js} +1 -1
- package/dist/assets/{permission-CBfa-qlX.js → permission-DbhB5Z1v.js} +1 -1
- package/dist/assets/{preferences-CuRLxM0K.js → preferences-BYmMPHkz.js} +1 -1
- package/dist/assets/{pt-CNmFfxJU.js → pt-C86mXB8Z.js} +1 -1
- package/dist/assets/publish-resource-CRym3QNG.js +1 -0
- package/dist/assets/{raf-schd.esm-KaxPdV64.js → raf-schd.esm-B7lVwb88.js} +1 -1
- package/dist/assets/{react-beautiful-dnd.esm-BlBywA4z.js → react-beautiful-dnd.esm-DzxofBcj.js} +1 -1
- package/dist/assets/refType-C0MWXRP4.js +1 -0
- package/dist/assets/{resource-dialog-DpLtB_Fw.js → resource-dialog-DvLQ35FQ.js} +1 -1
- package/dist/assets/{ru-BVNv9w91.js → ru-Dxm-iAqn.js} +1 -1
- package/dist/assets/sdk-C9VDRIUH.js +1 -0
- package/dist/assets/{selector-Drr6pXp9.js → selector-CVbTF87I.js} +4 -4
- package/dist/assets/session-CfGQq4aA.js +1 -0
- package/dist/assets/setup-Cn5VZSrf.js +19 -0
- package/dist/assets/{shorten-label-DK0L2sJV.js → shorten-label-DkBNZBHq.js} +1 -1
- package/dist/assets/simple-select-Dar19mu0.js +1 -0
- package/dist/assets/{slicedToArray-n9LJBwV4.js → slicedToArray-Bh7YTn9v.js} +2 -2
- package/dist/assets/start-BeQmK9fc.js +187 -0
- package/dist/assets/{step-actions-D_1mpc4C.js → step-actions-DauWsHJ8.js} +2 -2
- package/dist/assets/studio-DsQEpBvk.js +6 -0
- package/dist/assets/{switch-control-2C3bwebR.js → switch-control-Dsh5_EeP.js} +1 -1
- package/dist/assets/{th-CObnQ6OH.js → th-BamIf1b8.js} +1 -1
- package/dist/assets/{toUpper-DtTJYJCz.js → toUpper-BzsouAll.js} +1 -1
- package/dist/assets/transfer-DaiNG55d.js +16 -0
- package/dist/assets/trim-BSxRkodT.js +1 -0
- package/dist/assets/uniqBy-DdK7WB2a.js +1 -0
- package/dist/assets/unsubscribe-QZHXePvC.js +1 -0
- package/dist/assets/{url-join-aL0dlRwK.js → url-join-Bz42DLTX.js} +1 -1
- package/dist/assets/{use-mobile-TJQ6s1hH.js → use-mobile-BORWdgFu.js} +1 -1
- package/dist/assets/{use-mobile-D7IK9xm6.js → use-mobile-BnLttn6s.js} +1 -1
- package/dist/assets/{useAsync-B5aCa8BU.js → useAsync-XGhszTqi.js} +1 -1
- package/dist/assets/{useFormControl-De83T2k8.js → useFormControl-CUbdx--c.js} +1 -1
- package/dist/assets/{useLocalStorage-Cg4UWbtJ.js → useLocalStorage-CQGh5cLr.js} +1 -1
- package/dist/assets/{useSetState-C5EefhmT.js → useSetState-DJ05e857.js} +1 -1
- package/dist/assets/useSlot-DcPzSHnC.js +1 -0
- package/dist/assets/{useSlotProps-9EZsnKiK.js → useSlotProps-D6DLjewQ.js} +1 -1
- package/dist/assets/{useThemeProps-DFbMvLjq.js → useThemeProps-D4tucCRV.js} +1 -1
- package/dist/assets/user-center-BA6Kltkg.js +1 -0
- package/dist/assets/user-sessions-DvMYo49k.js +1 -0
- package/dist/assets/util-CEeqN3nG.js +1 -0
- package/dist/assets/{vi-DPE1cpvE.js → vi-CTEgHnG8.js} +1 -1
- package/dist/assets/wrap-locale-Ce8iB_Ha.js +1 -0
- package/dist/assets/{zh-ZJh718gR.js → zh-C9pcKSvk.js} +1 -1
- package/dist/assets/{zh-tw-q3KEUdcz.js → zh-tw-CuhSzmQN.js} +1 -1
- package/dist/images/splash-landscape.png +0 -0
- package/dist/images/splash-portrait.png +0 -0
- package/dist/index.html +1 -1
- package/dist/service-worker.js +1 -1
- package/package.json +38 -37
- package/api/middlewares/verify-federated-call.js +0 -36
- package/dist/assets/Add-DtejxYv7.js +0 -1
- package/dist/assets/ArrowDropDown-DLu5ghJ6.js +0 -1
- package/dist/assets/CheckCircle-BvTAg_Vb.js +0 -1
- package/dist/assets/ChevronLeft-CogeEPev.js +0 -1
- package/dist/assets/ChevronRight-BATWClLP.js +0 -1
- package/dist/assets/Delete-BvK_hDyw.js +0 -1
- package/dist/assets/DeleteOutline-CFkN2u6G.js +0 -1
- package/dist/assets/Done-BCayGyaP.js +0 -1
- package/dist/assets/Download-3v1IPpRg.js +0 -1
- package/dist/assets/Error-KMHXOqQS.js +0 -1
- package/dist/assets/ExpandMore-XeiYcXA0.js +0 -1
- package/dist/assets/FormGroup-BqZ71koG.js +0 -1
- package/dist/assets/HelpOutline-D-mVzldg.js +0 -1
- package/dist/assets/InfoOutlined-fhivWooJ.js +0 -1
- package/dist/assets/InputAdornment-7bcT-OxU.js +0 -1
- package/dist/assets/Launch-B6-uAhbQ.js +0 -1
- package/dist/assets/LaunchOutlined-BEenLVbN.js +0 -1
- package/dist/assets/Loop-tJ6uJkRI.js +0 -1
- package/dist/assets/MarkEmailRead-BNHtpgz2.js +0 -1
- package/dist/assets/Menu-CkD81HZ5.js +0 -1
- package/dist/assets/MoreHoriz-qqmi4YRC.js +0 -1
- package/dist/assets/MoreVert-BZZ4IBOf.js +0 -1
- package/dist/assets/OpenInNew-C5XvRsRC.js +0 -1
- package/dist/assets/PlayArrow-Cn0cfGNW.js +0 -1
- package/dist/assets/RadioGroup-CkuUb_-r.js +0 -1
- package/dist/assets/Search-DXRr3XZy.js +0 -1
- package/dist/assets/Stack-690-8aHU.js +0 -1
- package/dist/assets/ViewColumn-GTnSFOFd.js +0 -1
- package/dist/assets/ViewList-BtVWmZJ0.js +0 -1
- package/dist/assets/_createAggregator-Ct5VkIH5.js +0 -1
- package/dist/assets/access-control-BmMbklSe.js +0 -13
- package/dist/assets/add-resource-lnxpvPO7.js +0 -1
- package/dist/assets/api-lbSHYKYc.js +0 -1
- package/dist/assets/audit-logs-0TJ_0Mvw.js +0 -58
- package/dist/assets/bundle-avatar-CcIs5XOV.js +0 -1
- package/dist/assets/complete-Bb-6z_26.js +0 -45
- package/dist/assets/config-kysZ8p5u.js +0 -1
- package/dist/assets/config-space-BPpdFWKx.js +0 -1
- package/dist/assets/connect-DPIWGg69.js +0 -1
- package/dist/assets/connect-to-ZJr8_Nq9.js +0 -1
- package/dist/assets/dashboard-BUsMb2Wm.js +0 -165
- package/dist/assets/domain-CcBPnmmR.js +0 -9
- package/dist/assets/domain-list-CVn1TPCl.js +0 -15
- package/dist/assets/email-DETfN-BC.js +0 -18
- package/dist/assets/emotion-cache.browser.esm-DkJEKl9I.js +0 -1
- package/dist/assets/exchange-passport-BetHiKY_.js +0 -1
- package/dist/assets/form-text-input-BUB_rL9o.js +0 -11
- package/dist/assets/index-4RJk4AiM.js +0 -1
- package/dist/assets/index-B2fUK0Jg.js +0 -16
- package/dist/assets/index-BArNVkrG.js +0 -1
- package/dist/assets/index-BDxuBkP1.js +0 -29
- package/dist/assets/index-CQSz6hXt.js +0 -316
- package/dist/assets/index-CRK13xk6.js +0 -102
- package/dist/assets/index-D_g2YpF8.js +0 -1
- package/dist/assets/index-De1VedzO.js +0 -5
- package/dist/assets/index-PD8enw5a.js +0 -4
- package/dist/assets/invite-VzUmhGJg.js +0 -5
- package/dist/assets/issue-passport-573OuQnm.js +0 -1
- package/dist/assets/item-BoFU04RW.js +0 -1
- package/dist/assets/localization-BJhiRnk-.js +0 -1
- package/dist/assets/login-Cu5oiCaE.js +0 -1
- package/dist/assets/login-oauth-callback-Dim9h4c3.js +0 -1
- package/dist/assets/lost-passport-D_HnDqKr.js +0 -168
- package/dist/assets/notifications-tGIsoEd6.js +0 -65
- package/dist/assets/open-window-CmBy5HkH.js +0 -1
- package/dist/assets/overview-CmwcUtDq.js +0 -12
- package/dist/assets/publish-resource-aoq2ZIeT.js +0 -1
- package/dist/assets/refType-CNi4gHMp.js +0 -1
- package/dist/assets/sdk-CrAhZvgC.js +0 -1
- package/dist/assets/session-BGDxwrDP.js +0 -1
- package/dist/assets/setup-cPNeqLVK.js +0 -19
- package/dist/assets/simple-select-CHsQAOYZ.js +0 -1
- package/dist/assets/start-CcvndivR.js +0 -187
- package/dist/assets/studio-BdIpZDRv.js +0 -6
- package/dist/assets/transfer-BNPHc5-e.js +0 -16
- package/dist/assets/trim-Boaje3e9.js +0 -1
- package/dist/assets/uniqBy-B2B_OSuq.js +0 -1
- package/dist/assets/unsubscribe-eud8OqTh.js +0 -1
- package/dist/assets/useSlot-DebDFCUQ.js +0 -1
- package/dist/assets/user-center-BWtnQHWR.js +0 -1
- package/dist/assets/user-sessions-DTvyZm5S.js +0 -1
- package/dist/assets/util-BBKZBp8H.js +0 -1
- package/dist/assets/wrap-locale-Ci8gmRb6.js +0 -1
|
@@ -52,7 +52,7 @@ const { getKycClaims, verifyKycClaims, getPassportVc, isProfileUrlSupported, get
|
|
|
52
52
|
const { getTrustedIssuers, getFederatedTrustedIssuers } = require('../../util/blocklet-utils');
|
|
53
53
|
const {
|
|
54
54
|
getUserAvatarUrl,
|
|
55
|
-
|
|
55
|
+
migrateFederatedAccount,
|
|
56
56
|
getFederatedMaster,
|
|
57
57
|
shouldSyncFederated,
|
|
58
58
|
getUserWithinFederated,
|
|
@@ -533,7 +533,7 @@ module.exports = {
|
|
|
533
533
|
appPid: teamDid,
|
|
534
534
|
passportId: passport?.id,
|
|
535
535
|
status: 'online',
|
|
536
|
-
ua,
|
|
536
|
+
ua: null,
|
|
537
537
|
lastLoginIp,
|
|
538
538
|
extra: {
|
|
539
539
|
walletOS,
|
|
@@ -549,13 +549,13 @@ module.exports = {
|
|
|
549
549
|
data: {
|
|
550
550
|
users: [
|
|
551
551
|
{
|
|
552
|
+
action: 'connectAccount',
|
|
552
553
|
did: updatedUser.did,
|
|
553
554
|
pk: updatedUser.pk,
|
|
554
555
|
fullName: updatedUser.fullName,
|
|
555
556
|
email: updatedUser.email || '',
|
|
556
557
|
avatar: getUserAvatarUrl(updatedUser.avatar, blocklet),
|
|
557
558
|
connectedAccount: [connectAccount, connectedNft],
|
|
558
|
-
action: 'connectAccount',
|
|
559
559
|
sourceAppPid: sourceAppPid || masterSite.appPid,
|
|
560
560
|
inviter: updatedUser.inviter,
|
|
561
561
|
generation: updatedUser.generation,
|
|
@@ -1182,7 +1182,7 @@ module.exports = {
|
|
|
1182
1182
|
});
|
|
1183
1183
|
|
|
1184
1184
|
if (sourceAppPid) {
|
|
1185
|
-
await
|
|
1185
|
+
await migrateFederatedAccount({
|
|
1186
1186
|
// 目前只允许未注册过的钱包绑定 auth0,所以直接传入钱包生成的 userDid 和 userPk
|
|
1187
1187
|
toUserDid: userDid,
|
|
1188
1188
|
toUserPk: userPk,
|
|
@@ -87,7 +87,7 @@ const getOgImage = ({ input, info, cacheDir, format, tmpDir }) => {
|
|
|
87
87
|
const color = getPassportColor(info.passportColor, info.did);
|
|
88
88
|
const { value, error } = schema.validate(input);
|
|
89
89
|
if (error) {
|
|
90
|
-
throw new
|
|
90
|
+
throw new CustomError(400, `open graph service params invalid: ${formatError(error)}`);
|
|
91
91
|
}
|
|
92
92
|
if (value.template === 'cover') {
|
|
93
93
|
if (value.title && !value.description) {
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
const jwt = require('@arcblock/jwt');
|
|
2
|
+
const { isMaster, getFederatedMaster } = require('@abtnode/auth/lib/util/federated');
|
|
3
|
+
const { getVerifyData, verify } = require('@blocklet/sdk/lib/util/verify-sign');
|
|
4
|
+
const { SIG_VERSION } = require('@blocklet/constant');
|
|
5
|
+
const logger = require('../libs/logger')('check-federated');
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* 检查站点群的调用权限
|
|
9
|
+
* @param {object} options
|
|
10
|
+
* @param {'all'|'masterToMember'|'memberToMaster'} options.mode
|
|
11
|
+
* @param {Array<'pending'|'approved'|'rejected'|'revoked'>} options.allowStatus
|
|
12
|
+
*/
|
|
13
|
+
function checkFederatedCall({ mode = 'all', allowStatus = ['approved', 'revoked'] } = {}) {
|
|
14
|
+
return (req, res, next) => {
|
|
15
|
+
const { blocklet } = req;
|
|
16
|
+
if (!blocklet) {
|
|
17
|
+
res.status(400).send('blocklet not exists');
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const { sig, data, sigPk } = getVerifyData(req, 'blocklet');
|
|
22
|
+
|
|
23
|
+
if (!(sig && data && sigPk)) {
|
|
24
|
+
res.status(400).send('missing sig or data or sigPk');
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const masterSite = getFederatedMaster(blocklet);
|
|
28
|
+
|
|
29
|
+
if (masterSite) {
|
|
30
|
+
if (mode === 'memberToMaster') {
|
|
31
|
+
if (masterSite.appPid !== blocklet.appPid) {
|
|
32
|
+
res.status(403).send('Only master can handle this request');
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
} else if (mode === 'masterToMember') {
|
|
36
|
+
if (masterSite.appPid === blocklet.appPid) {
|
|
37
|
+
res.status(403).send('Only member can handle this request');
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const federated = blocklet?.settings?.federated || {};
|
|
44
|
+
const sites = federated?.sites || [];
|
|
45
|
+
|
|
46
|
+
const validSite = sites.find((siteItem) => {
|
|
47
|
+
const valid = siteItem.pk === sigPk;
|
|
48
|
+
if (!valid) return false;
|
|
49
|
+
|
|
50
|
+
// master 发过来的请求,无条件信任(后面会检查签名)
|
|
51
|
+
if (isMaster(siteItem)) return true;
|
|
52
|
+
if (mode === 'masterToMember') return false;
|
|
53
|
+
if (!allowStatus.includes(siteItem.status)) return false;
|
|
54
|
+
return true;
|
|
55
|
+
});
|
|
56
|
+
if (!validSite) {
|
|
57
|
+
res.status(401).send('Unauthorized');
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
const verified = verify(data, sig, {
|
|
62
|
+
appPk: sigPk,
|
|
63
|
+
});
|
|
64
|
+
if (!verified) {
|
|
65
|
+
logger.error('verify blocklet sig failed', { data, sig });
|
|
66
|
+
res.status(401).send('verify sig failed');
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
req.verifySite = validSite;
|
|
71
|
+
req.verifyData = req.body;
|
|
72
|
+
|
|
73
|
+
next();
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// DEPRECATED: @zhanghan 在 1.16.35 发布时移除旧版本的兼容
|
|
78
|
+
function checkFederatedCallLegacy({ mode = 'all', allowStatus = ['approved', 'revoked'] } = {}) {
|
|
79
|
+
return (req, res, next) => {
|
|
80
|
+
const { blocklet } = req;
|
|
81
|
+
if (!blocklet) {
|
|
82
|
+
res.status(400).send('blocklet not exists');
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
const { signer, data } = req.body;
|
|
87
|
+
|
|
88
|
+
if (!signer || !data) {
|
|
89
|
+
res.status(400).send('missing signer or signed data');
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
const masterSite = getFederatedMaster(blocklet);
|
|
94
|
+
|
|
95
|
+
if (masterSite) {
|
|
96
|
+
if (mode === 'memberToMaster') {
|
|
97
|
+
if (masterSite.appPid !== blocklet.appPid) {
|
|
98
|
+
res.status(403).send('Only master can handle this request');
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
} else if (mode === 'masterToMember') {
|
|
102
|
+
if (masterSite.appPid === blocklet.appPid) {
|
|
103
|
+
res.status(403).send('Only member can handle this request');
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
const federated = blocklet?.settings?.federated || {};
|
|
110
|
+
const sites = federated?.sites || [];
|
|
111
|
+
|
|
112
|
+
const validSite = sites.find((siteItem) => {
|
|
113
|
+
const valid = siteItem.appPid === signer;
|
|
114
|
+
if (!valid) return false;
|
|
115
|
+
|
|
116
|
+
// master 发过来的请求,无条件信任(后面会检查签名)
|
|
117
|
+
if (isMaster(siteItem)) return true;
|
|
118
|
+
if (mode === 'masterToMember') return false;
|
|
119
|
+
if (!allowStatus.includes(siteItem.status)) return false;
|
|
120
|
+
return true;
|
|
121
|
+
});
|
|
122
|
+
|
|
123
|
+
if (!validSite) {
|
|
124
|
+
res.status(401).send('Unauthorized');
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
if (!jwt.verify(data, validSite.pk)) {
|
|
129
|
+
res.status(401).send('Invalid signature during federated call');
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
req.verifyData = jwt.decode(data);
|
|
134
|
+
req.verifySite = validSite;
|
|
135
|
+
next();
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
function checkFederatedCallWrapper(options) {
|
|
140
|
+
return (req, res, next) => {
|
|
141
|
+
const { blocklet } = req;
|
|
142
|
+
if (!blocklet) {
|
|
143
|
+
res.status(400).send('blocklet not exists');
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
const { sigVersion } = getVerifyData(req, 'blocklet');
|
|
148
|
+
|
|
149
|
+
if (sigVersion === SIG_VERSION.DEFAULT) {
|
|
150
|
+
checkFederatedCall(options)(req, res, next);
|
|
151
|
+
} else if (sigVersion === SIG_VERSION.V0) {
|
|
152
|
+
checkFederatedCallLegacy(options)(req, res, next);
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
module.exports = { checkFederatedCall: checkFederatedCallWrapper };
|
package/api/routes/blocklet.js
CHANGED
|
@@ -58,6 +58,10 @@ const polishBlocklet = (doc) => {
|
|
|
58
58
|
};
|
|
59
59
|
|
|
60
60
|
const prefix = WELLKNOWN_SERVICE_PATH_PREFIX;
|
|
61
|
+
const staticDir =
|
|
62
|
+
process.env.NODE_ENV === 'production'
|
|
63
|
+
? path.resolve(__dirname, '../../dist')
|
|
64
|
+
: path.resolve(__dirname, '../../public');
|
|
61
65
|
|
|
62
66
|
module.exports = {
|
|
63
67
|
init(server, node) {
|
|
@@ -540,23 +544,25 @@ module.exports = {
|
|
|
540
544
|
try {
|
|
541
545
|
const { type } = req.params;
|
|
542
546
|
const blocklet = await req.getBlocklet();
|
|
543
|
-
|
|
544
547
|
const appSplash = get(blocklet, `environmentObj.BLOCKLET_APP_SPLASH_${type.toUpperCase()}`);
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
if (
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
548
|
+
if (appSplash) {
|
|
549
|
+
const splashFile = path.join(get(blocklet, 'env.dataDir'), appSplash);
|
|
550
|
+
if (fs.existsSync(splashFile)) {
|
|
551
|
+
if (isImageRequest(req)) {
|
|
552
|
+
const appDir = getAppImageCacheDir(blocklet.env.cacheDir);
|
|
553
|
+
processAndRespond(req, res, appDir, () => {
|
|
554
|
+
stream = fs.createReadStream(splashFile);
|
|
555
|
+
return Promise.resolve([stream, path.extname(splashFile).slice(1)]);
|
|
556
|
+
});
|
|
557
|
+
} else {
|
|
558
|
+
const cache = req.query.nocache !== '1';
|
|
559
|
+
res.sendFile(splashFile, cache ? { maxAge: '365d', immutable: true } : { maxAge: 0 });
|
|
560
|
+
}
|
|
553
561
|
} else {
|
|
554
|
-
|
|
555
|
-
res.sendFile(splashFile, cache ? { maxAge: '365d', immutable: true } : { maxAge: 0 });
|
|
562
|
+
res.sendFile(`/images/splash-${type}.png`, { root: staticDir, maxAge: '1h' });
|
|
556
563
|
}
|
|
557
564
|
} else {
|
|
558
|
-
|
|
559
|
-
res.status(404).send('splash image not found');
|
|
565
|
+
res.sendFile(`/images/splash-${type}.png`, { root: staticDir, maxAge: '1h' });
|
|
560
566
|
}
|
|
561
567
|
} catch (err) {
|
|
562
568
|
stream?.destroy();
|