Ansaitse Chrome-laajennuksesi OpenID Connect (OAuth 2.0) -todennuksella
Opi ansaitsemaan Chrome-laajennuksellasi lisäämällä siihen käyttäjän todennus.
Opi ansaitsemaan Chrome-laajennuksellasi lisäämällä siihen käyttäjän todennus.
Chrome-laajennukset ovat erinomainen tapa laajentaa Chrome-selaimen toimintoja. Kun sinulla on suosittu laajennus, saatat haluta ansaita sillä tarjoamalla käyttäjille maksullisia ominaisuuksia. Käyttäjätodennus on välttämätön tähän tarkoitukseen:
Toisaalta emme halua pysyä vain Googlen tilijärjestelmässä, sillä käyttäjät saattavat haluta käyttää muita tilejä, tai voisit haluta yhdistää useita palveluita samaan identiteettijärjestelmään.
Nopea yhteenveto OpenID Connectin (OIDC) käytön eduista todennuksessa:
Tässä opetusohjelmassa käytämme Logtoa OIDC-palveluntarjoajana, joka on Auth0-vaihtoehto identiteetti-infrastruktuurien rakentamiseen.
Aloitetaan!
Olettaen, että laitat "Kirjaudu sisään" -painikkeen Chrome-laajennuksesi ponnahdusikkunaan, todennusprosessi näyttää tältä:
Muille interaktiivisille sivuille laajennuksessasi sinun on vain korvattava Laajennuksen ponnahdusikkuna osanottajalla, joka on sivun nimi. Tässä opetusohjelmassa keskitymme ponnahdusikkunaan.
Aloittamiseksi, luo Logto-sovellus "Yksisivuinen sovellus" -tyypillä. Seuraa näitä ohjeita luodaksesi Logto-sovellus:
Asenna Logto SDK Chrome-laajennusprojektiisi:
manifest.jsonLogto SDK tarvitsee seuraavat luvat manifest.json-tiedostossa:
permissions.identity: Tarvitaan Chrome Identity API:lle, jota käytetään kirjautumiseen ja uloskirjautumiseen.permissions.storage: Tarvitaan käyttäjän istunnon tallentamista varten.host_permissions: Tarvitaan, jotta Logto SDK voi kommunikoida Logto API:en kanssa.Chrome-laajennuksesi taustaskriptissä, alusta Logto SDK:
Korvaa <sinun-logto-päätepiste> ja <sinun-logto-sovellustunnus> todellisilla arvoilla. Löydät nämä arvot juuri luomallasi Logto Console -sovellussivulla.
Jos sinulla ei ole taustaskriptia, voit seurata virallista opasta luodaksesi yhden.
Seuraavaksi meidän on kuunneltava viestejä muilta laajennussivuilta ja käsiteltävä todennusprosessia:
Saatat huomata, että koodissa käytetään kahta uudelleenohjaus-URIa. Ne molemmat luodaan chrome.identity.getRedirectURL-toiminnolla, joka on sisäänrakennettu Chrome API luomaan uudelleenohjaus-URL todennusprosesseille. Kaksi URIa ovat:
https://<laajennus-id>.chromiumapp.org/callback kirjautumiseen.https://<laajennus-id>.chromiumapp.org/ uloskirjautumiseen.Huomaa, että nämä URI:t eivät ole käytettävissä, ja ne käytetään vain Chromessa tiettyjen toimenpiteiden käynnistämiseksi todennusprosessille.
Nyt meidän on päivitettävä Logto-sovelluksen asetuksia salliaksemme juuri luodut uudelleenohjaus-URI:t.
https://<laajennus-id>.chromiumapp.org/callback.https://<laajennus-id>.chromiumapp.org/.chrome-extension://<laajennus-id>. Chromelaajennus-SDK käyttää tätä alkuperää kommunikoidakseen Logto API:en kanssa.Muista korvata <laajennus-id> todellisella laajennus-ID:lläsi. Löydät laajennus-ID:n chrome://extensions -sivulta.
Asetusten päivittämisen jälkeen Logto-sovelluksesi asetusten tulisi näyttää tältä:

Olemme melkein valmiita! Lisätään kirjautumis- ja uloskirjautumispainikkeet sekä muu tarvittava logiikka ponnahdusikkunasivulle.
popup.html-tiedostossa:
popup.js-tiedostossa (oletetaan, että popup.js sisällytetään popup.html-tiedostoon):
Nyt voit testata todennusprosessia Chrome-laajennuksessasi:
Koska Chrome tarjoaa yhtenäisiä tallennus-API:a, muut Logto SDK:n menetelmät, kuin kirjautuminen ja uloskirjautuminen, voidaan käyttää suoraan ponnahdusikkunasivulla.
popup.js-tiedostossasi voit käyttää uudelleen taustaskriptissä luotua LogtoClient-esiintymää tai luoda uuden samalla konfiguraatiolla:
Sitten voit luoda funktio lataamaan todennuksen tilan ja käyttäjän profiilin:
Voit myös yhdistää loadAuthenticationState-funktion kirjautumis- ja uloskirjautumislogiikkaan:
Tässä on esimerkki ponnahdusikkunasivusta todennustilalla:

Lisätietoja SDK:sta löydät virallisesta selain-SDK-dokumentaatiosta. Selain-SDK:ssa on samat API:t kuin Chrome-laajennus-SDK:ssa.
browser tai vastaava välttääksesi tarpeettoman Node.js-moduulien paketoimisen.Katso esimerkkiprojektimme täydellisen esimerkin kanssa TypeScriptillä, Rollupilla ja muilla konfiguraatioilla.
Kun käyttäjät on todistettu, voit nyt tarjota turvallisesti maksettuja ominaisuuksia Chrome-laajennuksessasi. Voit esimerkiksi tallentaa käyttäjän tilauksen tilan käyttäjän profiiliin ja tarkistaa sen, kun käyttäjä avaa laajennuksen.
Yhdistämällä Chrome-laajennusten ja Logton voiman, voit rakentaa joustavamman ja muokattavamman laajennuksen, jota sekä sinä että käyttäjäsi rakastavat.