I collegamenti dei negozi al dettaglio sono raggiungibili solo dai gestori delle impostazioni di commercio del proprio org

FixSecurityService
Spegnimento
17 settembre 2026 alle ore 04:26 UTC
Autore
Kamo
Impegno
6f51fa9

I gestori di configurazione del fornitore di vendita al dettaglio su CommerceMarketController hanno risolto l'org della sessione e poi utilizzato qualsiasi cosa mercato e configurare uid il percorso denominato. Aggiornare, eliminare e i registri di sincronizzazione hanno accettato una sessione da ANY organizzazione; ****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** attraverso, e entrambi i gestori ignorato l'org che hanno risolto). Una connessione di negozio contiene la chiave API del negozio, segreto o access token, e la connessione di prova chiama il negozio memorizzatoUrl con loro, in modo che chiunque sapesse uid di una configurazione potrebbe rinominare l'URL del negozio sul proprio server e avere il token consegnato lì, o attivare sincronizzazioni contro un altro Il negozio dell'inquilino. Creare anche collegato una configurazione a qualsiasi id di mercato, tra cui un'altra organizzazione. Ogni gestore (elenco per un mercato, elenco per l'org, creare, aggiornare, eliminare, sincronizzare i registri, la connessione di prova, sincronizzare) ora corre rifiutaRetailProviderAccesso prima: - 401 senza sessione; - 403 senza MANAGE SUBSCRIPTION SETTINGS, il cancello di /settings/features/pos, l'unico schermo che legge o scrive queste connessioni (CommerceProviderSetup, la sua finestra di dialogo di configurazione e la dashboard di sincronizzazione), e il livello di lettura del fratello collegamento di fatturazione-provider sulla stessa pagina; - 404 a meno che il mercato non appartenga all'organizzazione della sessione... è chiamato, la configurazione appartiene a quella organizzazione E quel mercato. Il mercato o la configurazione di un altro inquilino come uno scomparso. I registri di sincronizzazione ora richiedono configId; senza di esso la ricerca era di una configurazione NULL. RetailService e RetailSyncOrchestrator live in kamo-shared-library e ancora guardare configura da uid da solo; controllo di proprietà funziona qui, prima che qualcuno di loro è chiamato, e niente altro in qualsiasi servizio li chiama con un caller-supplied uid (il percorso webhook risolve la propria configurazione e verifica il provider HMAC, chiuso). Callers mappato: kamo-internal commerceProviderApi.ts solo (commercioApi.ts metodi di vendita al dettaglio non hanno utenti; nessun cellulare, kamo-js o chiamanti di servizio). Ogni chiamata passa il proprio mercato della configurazioneId dal suo DTO e corre sul E' il momento giusto. pagina. MarketOverviewTab e la nuova pagina di mercato elencano anche configurazioni e cattura errori, quindi un membro senza il diritto che raggiunge una pagina di mercato non vede fornitori collegati al posto della lista. RetailProviderConfigAccessTest guida ogni gestore: anonimo 401 e un membro senza il diritto 403, entrambi con niente toccato; mercato di un altro org 404; configurazione di un altro org sotto il mercato di questo org 404 e una configurazione sotto il sbagliato proprio mercato 404, con nulla aggiornato, cancellato, testato, sincronizzato o letto; il percorso manager 200 su tutti gli otto. Rimozione di ciascuno dei cinque controlli non riesce esattamente il test scritto per esso.

Tutte le modifiche

Come quello che vedi la spedizione?

Tutto questo arriva nel vostro spazio di lavoro da solo. Iniziare sul piano gratuito e leggere di nuovo questa pagina in un mese.

Inizia gratis per sempreVisualizza il prezzo