Kokeile laajennusten kehittäjän API:a
Käytä tätä opasta, jos haluat rakentaa Chastify-laajennuksen, isännöidä iframe-laajennussivua tai kutsua kehittäjärajapintaa omasta taustajärjestelmästäsi.
Tämä sivu on lähtökohta: minkä tilan valita, mihin soittaa ensin ja minne mennä seuraavaksi.
Konkreettisia laajennusten toimintoja, kuten lukituksen avaamisen estoja, tavallisia pakollisia toimintoja, palkintoja ja rangaistuksia, on kohdassa Extension API Features.
Haluatko vain hallita omaa lukkoasi?
Jos sinun ei tarvitse rakentaa julkista laajennusta, Ulkoinen API ja ohjelmat -sivu on helpoin tapa aloittaa. Luot vain DEV-tokenin ja kutsut yksinkertaisia REST-päätepisteitä – ei laajennuksen määritystä, ei iframe-kehystä, ei istunnonhallintaa. Se tukee lisäys-/poistoaikaa, jäädytystä, tehtäviä, laitekomentoja ja paljon muuta.
Mihin tätä API:a käytetään
Extensions Developer API:n avulla voit rakentaa kolmannen osapuolen laajennuskokemuksia, jotka toimivat Chastify-lukitusistuntojen sisällä.
Sen avulla voit:
- Lue istunto ja lukitse konteksti (
session.getlaajennuksille,/api/apps/v1/sessionomalle lukitusautomaatiolle) - Lue laajennuksen omistamia tietoja lukitusistuntoa kohden (
state.get) ja kirjoita ne taustajärjestelmästäsi (PUT/PATCH /state) - Tallenna laajennuksen omistamat kuvatiedostot Chastify:n hallinnoimaan R2-tallennustilaan (
files.*) - Lisää laajennuksen käyttöliittymätoiminnot lukituskortteihin (
metadata.homeActions) - Portin lukituksen avausprosessi laajennuksen omistamilla lukituksen avausesto-ominaisuuksilla (
metadata.unlockBlockers) - Käynnistä lukitustoiminnot luotettavasta taustajärjestelmästä (lisää/poista aika, jäädytä/vapauta jäädytys, asetusten päivitys)
- Käynnistä tehtävät ja hygieniatoimenpiteet (
task.assign,task.start_timer,task.complete,hygienic_unlock.start) - Lähetä säännöllisiä toimintoja laskureilla/tahdinnopeuden tuella
- Lähetä tuettujen laitekomentoja, kun niitä on saatavilla
- Kirjoita mukautettuja laajennuslokin merkintöjä lukitushistoriaa varten
Mitä voit rakentaa
Oikea ominaisuusjoukko riippuu siitä, missä luottamus sijaitsee.
Vain käyttöliittymään tarkoitetut iframe-laajennukset voivat rakentaa käyttöliittymälähtöisiä kokemuksia, jotka eivät vaadi luotettua lukitusmutaatiota:
- Määritä sivut, jotka keräävät laajennusten kokoonpanotiedot
- Istunnon kontekstia lukevat kojelaudat
- Pulmapelien, tarkistuslistojen tai pelien käyttöliittymät, jotka lukevat istunnon tilan ja lähettävät vahvistetun edistymisen taustajärjestelmän kautta
- Mediapohjaiset työnkulut, jotka lukevat Chastify:n jo tallentamia laajennustiedostoja
- Kotisivun toimintojen aloituskohdat, jotka avaavat iframesi tarkoituksella
Palvelimen tukemat laajennukset voivat rakentaa lukitukseen vaikuttavia ominaisuuksia, koska taustajärjestelmäsi tarkistaa tulokset ennen etuoikeutettujen API-rajapintojen kutsumista:
- Tehtävä- tai tapajärjestelmät, joilla on avausvaatimuksia
- Päivittäiset tai viikoittaiset vaatimukset ja aikataulutetut rangaistukset jäädä väliin
- Pelit, jotka palkitsevat onnistumisesta tai rankaisevat epäonnistumisesta lukitusajan muutoksilla
- Vahvistusprosessit, jotka poistavat lukituksen avaamisen estäjät palvelinpuolen vahvistuksen jälkeen
- Laitehallinnan rinnakkaistyönkulut tuettujen laitekomentojen avulla
- Webhook/tietokanta-työnkulut, jotka pitävät laajennuksen tilan iframen ulkopuolella
Ulkoiset ohjelmat on tarkoitettu oman aktiivisen lukkosi yksityiseen automatisointiin:
- Paikalliset skriptit
- Henkilökohtaiset kojelaudat
- Automaatiotyökalut, jotka käyttävät käyttäjäkohtaista DEV-avainta
Valitse tilasi
Valitse jokin näistä tiloista:
Hosted iframe extension: isännöi staattista iframe-käyttöliittymää Cloudflare Pagesissa tai vastaavassa palvelussa. Käytä siltaa asennukseen, istunnon kontekstiin ja turvallisiin lukuihin. Älä käytä tätä tilaa yksinään tilakirjoituksiin, palkintoihin, rangaistuksiin, lukituksen avaamiseen tai luotettujen vaatimusten edistymiseen.Server-backed extension: isännöi iframe-käyttöliittymää ja suorita oma taustajärjestelmäsi. iframe lähettää käynnistyskoodinmainTokentaustajärjestelmällesi, ja taustajärjestelmäsi kutsuu Chastify Extension API:a sovelluskohtaisella kehittäjä-API-avaimella jax-chastify-main-token:lla. Käytä tätä tilaa etuoikeutettuihin toimintoihin, estotoimintojen avaamiseen, luotettavaan edistymiseen, palkintoihin, rangaistuksiin, webhookkeihin ja ulkoisiin tietokantoihin.External API & Programs: käytä käyttäjäkohtaista DEV-avainta skripteille, paikallisille ohjelmille tai automaatioille, jotka ohjaavat omaa aktiivista lukitustasi. Tämä ei ole tila, jota kolmannen osapuolen käyttäjät voivat käyttää laajennuksesi asentamiseen.
Jos testaat nopeasti, aloita iframe-tilalla käyttöliittymää ja turvallisia lukuja varten. Lisää taustajärjestelmä ennen tilakirjoitusten, luotettujen palkintojen, aikamuutosten, aikataulutettujen vaatimusten edistymisen tai lukituksen avaamisen estävien toimintojen suorittamisen käyttöönottoa.
Iframe-koodi ei ole luotettavuusraja. Käyttäjä voi tarkastaa ja toistaa kaiken iframe-kehykselle näkyvän, mukaan lukien hash-hyötykuormat ja käynnistystunnukset.
Ensimmäiset 10 minuuttia (Iframe-tila)
- Lue
location.hash-hyötykuorma ZXQTER0ZXQ-iframe-kehyksestä. - Luo siltauspyyntö kohteelle
session.get. - Vahvista vastaus koodilla
type: "chastify:ext:resp"jaok: true. - Testitila lukee koodilla
state.get. - Lisää automaattinen koon muuttaminen + teeman tuki, jotta iframe toimii oikein käyttöliittymässä.
Teeman tuki on osa tuotantovalmiita iframe-kehyksiä. Chastify välittää ui-arvot käynnistyshajautusarvossa ja lähettää reaaliaikaisia teemapäivityksiä iframen ollessa auki. Katso Iframe Theming vaalean/tumman esimerkkejä ja kontrastin säilyttäviä Tailwind-kuvioita varten.
Vaaditut hyötykuorman arvot:
bridge.noncebridge.parentOriginsessionIdlockId
Esimerkki siltapyynnöstä:
{
"type": "chastify:ext:req",
"v": 1,
"id": "request-id", // unique id per request
"nonce": "nonce-from-hash",
"action": "session.get",
"payload": {}
}
Esimerkki sillan vastauksesta:
{
"type": "chastify:ext:resp",
"v": 1,
"id": "request-id",
"ok": true,
"data": {}
}
Keskeiset toiminnot, jotka on opittava ensin
session.getstate.get
Lue laajennuksen omistama JSON-tallennustila lukitusistuntoa varten. Kirjoita tila taustajärjestelmästäsi kehittäjän API-tunnuksilla.files.capabilities,files.list,files.getKäytä tiedostotallennuslukuja binäärimedialle, kuten palapelikuville tai luoduille esikatseluille. Tallenna tiedostotunnukset taustakirjoitettuun tilaan ja päivitä sitten allekirjoitetut URL-osoitteet koodillafiles.get.metadata.getLue lukitusistunnon lukituksen avauksen estäjät ja laajennuskortin kotitoiminnot/-aikeet.regularActions.get
Istuntomutaatiot, kuten tilakirjoitukset, tavallisten toimintojen lähettäminen, ajonaikaisten tiedostojen lataus/poisto, aikamuutokset, estopäivitysten lukituksen avaaminen, tehtävien suorittaminen, hygienian käynnistykset ja laitekomennot, on kutsuttava taustajärjestelmästäsi kehittäjän API-avaimella. Selaimen iframe-koodiin ei luoteta näissä toiminnoissa.
Täydelliset API-URL-osoitteet (tuettu)
Perusverkkotunnus: https://chastify.net
Laajennusistunnon API:t (/api/extensions/*)
Näillä reiteillä on erilaiset käyttötavat. Älä käsittele koko /api/extensions/*-pintaa iframe-turvallisena.
Turvalliset iframe-siltareitit reititetään Chastify-pääobjektin kautta postMessage-siltapyyntöjen jälkeen:
GET https://chastify.net/api/extensions/sessions/:sessionIdGET https://chastify.net/api/extensions/sessions/:sessionId/stateGET https://chastify.net/api/extensions/sessions/:sessionId/metadataGET https://chastify.net/api/extensions/sessions/:sessionId/regular-actionsGET https://chastify.net/api/extensions/sessions/:sessionId/files/capabilitiesGET https://chastify.net/api/extensions/sessions/:sessionId/filesGET https://chastify.net/api/extensions/sessions/:sessionId/files/:fileId
Vain taustajärjestelmän asennettujen laajennusten reitit vaativat sovelluskohtaisen kehittäjän API-avaimen ja iframe-käynnistystunnuksen:
Authorization: Bearer YOUR_APP_SCOPED_DEVELOPER_KEY
x-chastify-main-token: MAIN_TOKEN_FROM_IFRAME_HASH
Tämä kahden tunnuksen malli sitoo taustapyynnön sekä laajennuksen kehittäjään (Authorization) että parhaillaan avoinna olevaan laajennusistuntoon (x-chastify-main-token).
PATCH https://chastify.net/api/extensions/sessions/:sessionId/metadataPUT https://chastify.net/api/extensions/sessions/:sessionId/statePATCH https://chastify.net/api/extensions/sessions/:sessionId/statePATCH https://chastify.net/api/extensions/sessions/:sessionId/regular-actions/configPOST https://chastify.net/api/extensions/sessions/:sessionId/regular-actionsPOST https://chastify.net/api/extensions/sessions/:sessionId/filesDELETE https://chastify.net/api/extensions/sessions/:sessionId/files/:fileIdPOST https://chastify.net/api/extensions/sessions/:sessionId/logs/customPOST https://chastify.net/api/extensions/sessions/:sessionId/notifications/customPOST https://chastify.net/api/extensions/sessions/:sessionId/device-commandPOST https://chastify.net/api/extensions/sessions/:sessionId/actionPOST https://chastify.net/api/extensions/sessions/:sessionId/requirements/progress
Taustajärjestelmän token-APIt (/api/apps/v1/*)
Käytä koodia Authorization: Bearer <user-wide DEV token>. Nämä päätepisteet hallitsevat tunnuksen omistajan omia aktiivisia lukitusistuntoja ja on tarkoitettu ulkoisille API-skripteille/ohjelmille, eivät asennetuille kolmannen osapuolen laajennusistunnoille.
GET https://chastify.net/api/apps/v1/sessionGET https://chastify.net/api/apps/v1/statePUT https://chastify.net/api/apps/v1/statePATCH https://chastify.net/api/apps/v1/stateGET https://chastify.net/api/apps/v1/metadataPATCH https://chastify.net/api/apps/v1/metadataPOST https://chastify.net/api/apps/v1/actionPOST https://chastify.net/api/apps/v1/lock/apply-timePOST https://chastify.net/api/apps/v1/lock/freezePOST https://chastify.net/api/apps/v1/lock/unfreezePOST https://chastify.net/api/apps/v1/logs/custom
Iframe Bridgen komennot
Siltakomentohyötykuormat lähetetään iframe-kehyksen (chastify:ext:req) avulla ja ne reititetään Chastify-pääobjektin kautta. Silta on tarkoituksella rajoitettu safe/session-käyttöliittymätoimintoihin.
session.get->GET https://chastify.net/api/extensions/sessions/:sessionIdstate.get->GET https://chastify.net/api/extensions/sessions/:sessionId/statefiles.capabilities->GET https://chastify.net/api/extensions/sessions/:sessionId/files/capabilitiesfiles.list->GET https://chastify.net/api/extensions/sessions/:sessionId/filesfiles.get->GET https://chastify.net/api/extensions/sessions/:sessionId/files/:fileIdja{ "fileId": "file_record_id" }metadata.get->GET https://chastify.net/api/extensions/sessions/:sessionId/metadataregularActions.get->GET https://chastify.net/api/extensions/sessions/:sessionId/regular-actions
Istuntomutaatiopäätepisteet ovat suoria taustajärjestelmän API-kutsuja, eivät iframe-siltakomentoja. Tämä sisältää tilakirjoitukset, tavallisen toiminnon lähettämisen ja ajonaikaisen tiedoston latauksen/poiston, koska käyttäjä voi hallita iframe-koodia.
Taustajärjestelmän istunto-API-esimerkkejä
Taustajärjestelmän on lähetettävä molemmat otsikot asennettujen laajennusten etuoikeutetuille kutsuille:
Authorization: Bearer YOUR_APP_SCOPED_DEVELOPER_KEY
x-chastify-main-token: MAIN_TOKEN_FROM_IFRAME_HASH
Esimerkkejä taustajärjestelmän toimista:
metadata.patch->PATCH /api/extensions/sessions/:sessionId/metadataregularActions.submit->POST /api/extensions/sessions/:sessionId/regular-actionsfiles.upload->POST /api/extensions/sessions/:sessionId/filesfiles.delete->DELETE /api/extensions/sessions/:sessionId/files/:fileIdlock.applyTime->POST /api/extensions/sessions/:sessionId/actionja{ "name": "add_time", "params": <deltaSeconds> }lock.freeze->POST /api/extensions/sessions/:sessionId/actionja{ "name": "freeze", "params": { "durationSeconds": 900 } }lock.unfreeze->POST /api/extensions/sessions/:sessionId/actionja{ "name": "unfreeze", "params": {} }lock.settings.patch->POST /api/extensions/sessions/:sessionId/actionja{ "name": "settings.patch", "params": { ... } }task.assign->POST /api/extensions/sessions/:sessionId/actiontask.start_timer->POST /api/extensions/sessions/:sessionId/actionja{ "name": "task.start_timer", "params": {} }task.complete->POST /api/extensions/sessions/:sessionId/actionja{ "name": "task.complete", "params": { "successful": true } }hygienic_unlock.start->POST /api/extensions/sessions/:sessionId/actionja{ "name": "hygienic_unlock.start", "params": { "durationSeconds": 900 } }pillory.end->POST /api/extensions/sessions/:sessionId/actionja{ "name": "pillory.end", "params": {} }device.command->POST /api/extensions/sessions/:sessionId/device-commandlogs.custom->POST /api/extensions/sessions/:sessionId/logs/customnotifications.custom->POST /api/extensions/sessions/:sessionId/notifications/customrequirements.progress->POST /api/extensions/sessions/:sessionId/requirements/progress
Tunnuksen, laajuuden, peruutuksen ja auditointikäyttäytymisen
Käytä oikeaa tunnusta oikeaan luottamusrajaan.
Kehittäjän API-avaimet ovat salaisia. Jos jokin niistä paljastuu selainkoodille, peruuta se välittömästi ja vaihda taustajärjestelmän ympäristömuuttujaa.
Iframe-käynnistystunnus (mainToken)
- Toimitetaan iframe-hajautusarvossa, kun käyttäjä avaa asennetun laajennuksen sivun.
- Selainnäkyvä rakenteensa ansiosta. Se tunnistaa avatun laajennusistunnon, mutta se ei ole taustajärjestelmän salaisuus.
- Lyhytaikainen. Nykyiset käynnistystunnukset vanhenevat 10 tunnin kuluttua; päivitä avaamalla laajennussivu uudelleen.
- Pakollinen koodina
x-chastify-main-token, kun taustajärjestelmäsi kutsuu asennettujen laajennusten istuntoreittejä, jotta Chastify voi sitoa taustajärjestelmän pyynnön käyttäjään/istuntoon, joka avasi laajennuksen. - Ei saa käyttää yksinään aikamuutosten valtuuttamiseen, eston suorittamisen avaamiseen, tehtävien suorittamiseen, laitekomentojen, suorituksenaikaisten latausten/poistojen, mukautettujen lokien tai mukautettujen ilmoitusten hyväksymiseen.
Sovelluslaajuinen kehittäjän API-avain
- Luotu kehittäjän käyttöliittymästä yhdelle laajennussovellukselle.
- Vain taustajärjestelmälle tarkoitettu salaisuus. Älä koskaan lisää sitä iframe JavaScriptiin, mobiilisovelluspaketteihin, staattisiin hosting-määrityksiin tai selaimella luettaviin lokeihin.
- Käytetään yhdessä
Authorization: Bearer YOUR_APP_SCOPED_DEVELOPER_KEY:n jax-chastify-main-token:n kanssa. - Voi kutsua asennetun laajennuksen istunnon API-rajapintoja vain istunnoille, jotka vastaavat laajennussovellusta ja käynnistystunnusta.
- Ei vanhene automaattisesti. Peruuta se välittömästi, jos se paljastuu, ja vaihda taustajärjestelmän ympäristömuuttujaa.
Käyttäjäkohtainen kehittäjän API-avain
- Luotu kehittäjän käyttöliittymästä valitsematta laajennussovellusta.
- Vain taustajärjestelmälle tarkoitettu salaisuus koodille
/api/apps/v1/*. - Hallitsee avaimen omistajan omia nykyisiä/tulevia aktiivisia lukitusistuntoja.
- Ei voida käyttää asennetun kolmannen osapuolen laajennuksen taustajärjestelmän tunnistetietona.
Peruutus
- Peruutetut kehittäjän API-avaimet estävät uusien pyyntöjen valtuuttamisen.
- Peruutetut avaimet voidaan poistaa pysyvästi kehittäjän käyttöliittymästä.
- Uudet iframe-julkaisut saavat uudet käynnistystunnukset. Älä säilytä
mainToken-koodia pitkäaikaisena tunnistetietona.
Vaikutusalueet ja roolit
- Laajennussovellusten laajuudet kuvaavat, mitä sovellus saa pyytää.
- Turvalliset iframe-siltakutsut rajoittuvat käyttöliittymän käynnistykseen, istuntojen lukuihin, laajennuksen omistamaan tilaan, metatietojen lukuihin, tavallisten toimintojen lukuihin ja tiedostojen lukuihin.
- Etuoikeutetut asennusistunnon mutaatiot vaativat taustajärjestelmän tunnistetiedot, vaikka laajennuksella olisi vastaava laajennus.
- Rooliherkät toiminnot voidaan silti hylätä sen perusteella, kuuluuko laukaisu käyttäjälle vai avaimenhaltijalle.
Tarkastus ja rajoitukset
- Kehittäjän API-avaimen viimeksi käytetyn metadatan päivitetään, kun avaimia käytetään.
- Etuoikeutettujen toimintojen reitit ovat nopeusrajoitettuja ja palauttavat eksplisiittisiä virheitä, kuten
server_credentials_requiredtaiuser_wide_dev_key_required, kun käytetään väärää tunnistetietotyyppiä. - Mukautetut lokit kirjoittavat näkyviä lukitushistoriamerkintöjä.
- Mukautetut ilmoitukset luovat Chastify-ilmoituksia pyydetylle kohteelle.
- Jokaisen etuoikeutetun laajennuksen mutaation täydellinen auditointikattavuus seurataan tuotantoa vahvistavana osana.
Tuetut komentoarvot
/api/extensions/sessions/:sessionId/action ja /api/apps/v1/action
name tukee:
add_timeremove_timefreezepilloryunfreezetoggle_freezesettings.patchtask.assigntask.start_timertask.completehygienic_unlock.startpillory.end
Toimintorajoitukset:
- Tehtävätoiminnot edellyttävät, että Tehtävät-laajennus/moduuli on käytössä lukossa.
hygienic_unlock.startedellyttää, että hygieeninen avaus on käytössä eikä aktiivista hygieniasessio ole käytössä.
session.get-lukitustietojen apuohjelmat
session.get / GET /api/apps/v1/session sisältää myös lockData:n, jossa on ajonaikaisesti helppokäyttöisiä totuusarvoja, numeroita ja merkkijonoja sääntömoottoreille.
Esimerkkejä:
- totuusarvot:
frozen,unlockable,trusted,taskAssigned(true, kun avoinTaskRunon olemassa) - numerot:
timeLockedSeconds,timeRemainingSeconds,maxTimeRemainingSeconds,taskPoints - merkkijonot:
lockTitle, käyttäjän/avaimenhaltijan profiilikentät
Tietosuoja:
wearerLastSeenTimestampjakeyholderLastSeenTimestampovatnull, kun kyseinen käyttäjä on poistanut online-tilan käytöstä (showOnlineStatus === false).
Laitekomennot
Laajennusistunnot voivat käyttää istuntopohjaista päätepistettä:
POST /api/extensions/sessions/:sessionId/device-command
Ulkoiset ohjelmat, joilla on DEV-token, voivat käyttää yksinkertaisempaa v1-päätepistettä (istuntotunnusta ei tarvita):
POST /api/apps/v1/device-command
Molemmat hyväksyvät saman pyyntörungon ja palauttavat saman vastauksen. Katso lisätietoja kohdasta Ulkoinen API ja ohjelmat.
Asennussivu (valinnainen, suositeltu)
Jos laajennuksessasi on asennus-/määrityskäyttöliittymä:
- Ylätaso lähettää
chastify:ext:setup:init:n (tallennettu kokoonpano + konteksti). - Asennuskehyksesi palauttaa päivitykset koodilla
chastify:ext:setup:config. - Vanhempi voi pyytää nykyistä konfiguraatiota koodilla
chastify:ext:setup:get_config.
Backend Token Flow (kun tarvitset palvelinpuolen kutsuja)
Yksinkertaisille skripteille ja ulkoisille ohjelmille käytä käyttäjäkohtaista DEV-tunnusta Developer API -sivulta. Katso Ulkoinen API ja ohjelmat.
Oletusvirta laajennuksen iframe-tilassa:
- Chastify myöntää lyhytaikaisen, selaimessa näkyvän käynnistystunnuksen aktiiviselle laajennusistunnolle.
- Käynnistystunnus on upotettu iframe-hajautushyötykuormaan muodossa
mainToken. - IFramesi välittää
mainToken-koodin taustajärjestelmällesi. - Taustajärjestelmäsi kutsuu
https://chastify.net/api/extensions/sessions/:sessionId/*:taAuthorization: Bearer <app-scoped Developer API key>:n jax-chastify-main-token: <mainToken>:n avulla.
Älä lähetä kehittäjän API-avaimia iframe-frameen/selainkoodiin. mainToken tunnistaa avatun laajennusistunnon; se ei ole taustajärjestelmän salaisuus, eikä sitä voida käyttää yksinään etuoikeutettuihin toimintoihin.
Manuaalinen varatoiminto:
- Jos sinun täytyy noutaa/kiertää iframe-käynnistystunnusta eksplisiittisesti ensimmäisen osapuolen käyttöliittymästä, kutsu
GET https://chastify.net/api/extensions/sessions/:sessionId/auth:ta.
Käytä taustatilaa, jos tarvitset ajoitettuja töitä, webhookeja tai automaatiota, kun Chastify-sivu ei ole auki. Nykyiset asennetun laajennuksen istuntomutaatiot vaativat edelleen voimassa olevan 10 tunnin iframe-käynnistystunnuksen, joten valvomattomien töiden tulisi tallentaa odottavat todisteet ja lähettää ne seuraavan voimassa olevan käynnistyksen yhteydessä, ellet käytä taustalla suoritettavaa ensimmäisen osapuolen/sisäänrakennettua palvelintyönkulkua.
Täysin valvomattoman tuotantotoiminnan kannalta suosi sisäänrakennettua/ensimmäisen osapuolen palvelintyönkulkua tai odota eksplisiittisiä taustalla suoritettavia laajennusten myöntämisiä. Sovelluskohtaiset istunto-API-rajapinnat ovat tällä hetkellä käynnistystunnussidonnaisia.
Backend vs. Cloudflare-sivut (ei palvelinta)
Käytä Cloudflare Pagesia (ei taustapalvelinta), kun:
- Haluat helpoimman ja halvimman asennuksen (voidaan isännöidä ilmaiseksi).
- Tarvitset käyttöliittymän ohjaamia toimintoja vain, kun käyttäjä on aktiivisesti laajennussivullasi.
- Palvelimelle tallennettuja laajennuksen tilakirjoituksia ei tarvita.
- Teet prototyyppejä tai rakennat kevyitä laajennuksia nopeasti.
Paikallinen testausesimerkki (PowerShell):
cloudflared tunnel --url http://localhost:5174
Käytä luotua julkista URL-osoitetta iframe-URL-osoitteena testauksen aikana.
Käytä taustapalvelinta, kun:
- Tarvitset ajoitettuja töitä (cron-tyyppinen toiminta).
- Tarvitset webhookeja tai ulkoisia integraatioita.
- Tarvitset automaatiota/taustakäsittelyä, kun laajennussivulla ei ole ketään.
- Tarvitset palvelimen ohjaamia työnkulkuja, joiden on toimittava jatkuvasti.
Tärkeä rajoitus ilman taustajärjestelmää:
- Ei taustalla suoritettavaa suoritusta. Laajennus voi suorittaa toimintoja vain, kun käyttäjällä on laajennuksen iframe auki ja hän on vuorovaikutuksessa sen kanssa.
Yleisiä ongelmia
403 extension_not_enabled: laajennusta ei ole otettu käyttöön tälle lukolle.409 lock_ended: lukitus ei ole enää aktiivinen.429: nopeusraja saavutettu.- Ei vastauksia iframessa: tarkista
nonce,targetOrigin(parentOrigin) ja sallitut alkuperät.