- 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.