Uso un SaaS che ha un pannello di amministrazione e un sito frontale. Non ho accesso al back-end e posso cambiare solo front-end, il che significa che ho solo JS in uso. Ho creato un sito diverso (lo chiameremo "aggiuntivo") per estendere il front-end. Questo sito ha il suo amministratore.
Faccio richieste JS per i dati necessari dal front-end del sito di origine con JS al sito aggiuntivo. Ma il risultato è che ora il mio cliente ha 2 diversi siti di amministrazione e non sono contento di dover modificare un prodotto in 2 posizioni.
La prima soluzione è l'estensione del back-end aggiuntivo con la funzionalità del back-end del sito SaaS. Ma ci vorrà molto tempo e in realtà queste funzionalità duplicheranno il SaaS.
La seconda soluzione è iniettare in qualche modo un sito aggiuntivo nell'amministratore del sito SaaS. L'amministratore di SaaS non fornisce strumenti per farlo. E qui ho due opzioni:
-
Crea un'estensione di Chrome (privata, aka decompressa) che semplicemente inietta iframe di amministrazione del sito aggiuntivo in una scheda separata sul prodotto SaaS. Prendo solo un ID prodotto dall'URL e carica l'URL del sito aggiuntivo (che sarà una pagina di modifica del prodotto) in un iframe. Ma ho bisogno in qualche modo di accedere al pulsante di invio nell'iframe da cliccare quando si fa clic su un pulsante di invio su admin SaaS. Non sarà un problema per il mio cliente fare clic su 2 pulsanti. Inoltre, vedrà immediatamente errori di forma.
-
Questa variante è simile alla prima, ma qui creerò un'estensione che inietterà campi invece di un iframe. Sì, ci vuole molto più tempo per implementare questo. Ma il problema principale è che attualmente non ho un'API sul mio sito aggiuntivo. Quando il sito di front-end di origine (SaaS) effettua una richiesta al sito aggiuntivo, è senza autenticazione (ma le richieste sono solo GET). Quindi in questa variante ho bisogno di costruire un'API sul sito aggiuntivo. Inoltre, dovrò salvare le credenziali API nell'estensione di Chrome. Sì, è un'estensione privata e sarà abilitata per il sito di amministrazione di origine e sarà su 2 PC (mio e mio cliente). Ma è sicuro farlo in questo modo?
Non sono espulso in queste cose. E non so nemmeno come ricercarlo. Forse avrai un'altra variante.