Firebase-todennus- ja reaaliaikaisten tietokantasovellusten rakentaminen · Oppitunti

Mukautetut claimit ja tietoturvasäännöt

Määrittelette käyttäjille mukautettuja claimeja ja yhdistätte ne Firenbasen tietoturvasääntöihin resurssien käyttöoikeuksien hallitsemiseksi

Oppitunti 3/411 vaihetta

Mukautetut claimit ja tietoturvasäännöt on ilmainen Firebase-todennus- ja reaaliaikaisten tietokantasovellusten rakentaminen-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Firebase-todennus- ja reaaliaikaisten tietokantasovellusten rakentaminen-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Firebase-todennus- ja reaaliaikaisten tietokantasovellusten rakentaminen-kurssilla on yhteensä 4 oppituntia.

Johdatus Custom Claims -ominaisuuteen

Peruskäyttäjätodennuksen lisäksi Firebase antaa teidän määrittää Custom Claims -väitteitä. Ne ovat avain–arvo-pareja, joita voitte lisätä käyttäjän ID-tunnisteeseen ja jotka tarjoavat käyttäjästä lisätietoja.

Voitte ajatella niitä käyttäjän identiteettiin liitettyinä mukautettuina tunnisteina tai merkkeinä.

Miksi Custom Claims -väitteitä käytetään?

Custom Claims -väitteet ovat hyödyllisiä roolipohjaisen käyttöoikeuksien hallinnan (RBAC) toteuttamiseen tai tiettyjen käyttöoikeuksien myöntämiseen sovelluksessanne. Sen sijaan, että tietäisitte vain, kuka käyttäjä on, voitte tietää, mitä hän saa tehdä.

  • Määrittäkää käyttäjille rooleiksi esimerkiksi ”admin”, ”editor” tai ”subscriber”.
  • Myöntäkää pääsy premium-ominaisuuksiin tai -sisältöön.
  • Hallitkaa tietojen käyttöä mukautettujen määritteiden perusteella.

Väitteiden määrittäminen palvelimella

Custom Claims -väitteet ovat arkaluonteisia, ja ne on määritettävä luotetusta ympäristöstä, kuten taustapalvelimelta, käyttämällä Firebase Admin SDK:ta. Näin estetään haitallisia käyttäjiä myöntämästä itselleen laajempia oikeuksia.

Kun väitteet määritetään, käyttäjän ID-tunniste päivitetään. Asiakkaiden on päivitettävä tunnisteensa saadakseen uudet väitteet.

Väitteiden määrittämisen simulointi

Tämä käsitteellinen esimerkki havainnollistaa väitteiden toimintaa. Todellisessa taustapalvelussa Admin SDK päivittäisi käyttäjän profiilin, minkä jälkeen nämä väitteet olisivat käytettävissä hänen ID-tunnisteessaan.

import java.util.HashMap;
import java.util.Map;

public class Main {
  public static void main(String[] args) {
    String userId = "user123";
    Map<String, Object> claims = new HashMap<>();

    // --- Server-side action (simulated) ---
    System.out.println("Server sets claims for " + userId);
    claims.put("role", "admin");
    claims.put("level", "premium");

    // --- Client-side action (simulated after token refresh) ---
    System.out.println("\nClient receives ID token with claims:");
    System.out.println("User ID: " + userId);
    System.out.println("Claims: " + claims);

    // Client checks for specific claim
    if (claims.containsKey("role") && claims.get("role").equals("admin")) {
      System.out.println("Access check: User is an admin.");
    } else {
      System.out.println("Access check: Not an admin.");
    }
  }
}

Väitteiden lukeminen asiakkaalla

Kun käyttäjä on kirjautunut sisään ja hänen ID-tunnisteensa on päivitetty (esimerkiksi kirjautumisen jälkeen tai erikseen päivitettäessä), asiakaspuolen sovellus voi lukea nämä Custom Claims -väitteet tunnisteesta.

Väitteet on upotettu ID-tunnisteeseen, joka on JWT (JSON Web Token).

Kuinka väitteet ohjaavat sääntöjä

Custom Claims -väitteiden todellinen voima tulee esiin, kun yhdistätte ne Firebase Security Rules -sääntöihin. Kaikki käyttäjän ID-tunnisteeseen määrittämänne mukautetut väitteet ovat automaattisesti käytettävissä suojaussäännöissänne.

Tämän ansiosta voitte luoda erittäin tarkkaa ja dynaamista käyttöoikeuslogiikkaa Realtime Databasea tai Cloud Firestorea varten.

Sääntöesimerkki: järjestelmänvalvojan käyttöoikeus

Näin Firebase Realtime Database Security Rule -sääntö voi käyttää mukautettua admin: true -väitettä rajoittaakseen tietyn tietopolun käyttöä.

Vain käyttäjät, joiden tunnisteessa on tämä väite, voivat lukea kohteen /adminContent tai kirjoittaa siihen.

{
  "rules": {
    "adminContent": {
      // Only users with 'admin: true' claim can read/write
      ".read": "auth.token.admin === true",
      ".write": "auth.token.admin === true"
    },
    "publicContent": {
      // Anyone authenticated can read, no special claims needed
      ".read": "auth != null",
      ".write": "false"
    }
  }
}

Sääntöesimerkki: premium-sisältö

Voitte käyttää väitteitä myös eri käyttöoikeustasoihin. Tämä sääntö myöntää lukuoikeuden kohteeseen /premiumContent vain, jos käyttäjällä on väite level: 'premium'.

Tämä on paljon joustavampaa kuin pelkkä sen tarkistaminen, onko käyttäjä kirjautunut sisään.

{
  "rules": {
    "premiumContent": {
      // Only users with 'level: premium' claim can read
      ".read": "auth.token.level === 'premium'",
      ".write": "false"
    },
    "users": {
      "$uid": {
        ".read": "auth.uid === $uid",
        ".write": "auth.uid === $uid"
      }
    }
  }
}

Väitteiden parhaat käytännöt

Jotta Custom Claims -väitteitä käytetään tehokkaasti ja turvallisesti:

  • Pidä väitteet pieninä: ID-tunnisteilla on kokorajoituksia.
  • Älä tallenna arkaluonteisia tietoja: Väitteet on koodattu base64-muotoon, ei salattu.
  • Käytä niitä valtuutukseen: Älä käytä niitä yleiseen tietojen tallennukseen.
  • Tunnisteen päivitys: Muistuttakaa käyttäjiä päivittämään ID-tunnisteensa, jos väitteet muuttuvat.

Väitekysely

Olette oppineet, kuinka Custom Claims -väitteet parantavat käyttäjäroolien ja suojaussääntöjen hallintaa. Mikä väite kuvaa oikein Firebase Custom Claims -ominaisuuden keskeistä osa-aluetta?

Kertaus: Custom Claims ja säännöt

Tässä oppitunnissa käsiteltiin Firebase Custom Claims -ominaisuutta, joka on tehokas edistyneen käyttäjähallinnan toiminto.

  • Custom Claims -väitteiden avulla voitte lisätä mukautettuja määritteitä käyttäjien ID-tunnisteisiin.
  • Ne määritetään turvallisesti taustapalvelimella Firebase Admin SDK:n avulla.
  • Nämä väitteet integroituvat saumattomasti Firebase Security Rules -sääntöihin, mikä mahdollistaa sovelluksen resurssien vankan roolipohjaisen käyttöoikeuksien hallinnan.
  • Muistakaa aina päivittää asiakkaan ID-tunniste, jotta muutokset tulevat voimaan.
Aloita maksutta

Opi Firebase-todennus- ja reaaliaikaisten tietokantasovellusten rakentaminen tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
11
Oppitunnit
44

Usein kysytyt kysymykset

Onko oppitunti ”Mukautetut claimit ja tietoturvasäännöt” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Firebase-todennus- ja reaaliaikaisten tietokantasovellusten rakentaminen-oppimispolun 3 oppituntia, myös oppitunnin “Mukautetut claimit ja tietoturvasäännöt”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Firebase-todennus- ja reaaliaikaisten tietokantasovellusten rakentaminen-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Mukautetut claimit ja tietoturvasäännöt”?

Määrittelette käyttäjille mukautettuja claimeja ja yhdistätte ne Firenbasen tietoturvasääntöihin resurssien käyttöoikeuksien hallitsemiseksi Harjoittelet Firebase-todennus- ja reaaliaikaisten tietokantasovellusten rakentaminen-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Firebase-todennus- ja reaaliaikaisten tietokantasovellusten rakentaminen-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Firebase-todennus- ja reaaliaikaisten tietokantasovellusten rakentaminen-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.

Kuinka kauan ”Mukautetut claimit ja tietoturvasäännöt”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Firebase-todennus- ja reaaliaikaisten tietokantasovellusten rakentaminen-oppitunnilla?

Kyllä. Jokainen Firebase-todennus- ja reaaliaikaisten tietokantasovellusten rakentaminen-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Puhelinnumerolla autentikointi
  2. Monivaiheinen autentikointi (MFA)
  3. Mukautetut claimit ja tietoturvasäännöt
  4. Tilien yhdistäminen ja kirjautumispalveluiden hallinta
← Takaisin: Firebase-todennus- ja reaaliaikaisten tietokantasovellusten rakentaminen