AI SaaS -sovellusten rakentaminen · Oppitunti

Käyttäjien todentaminen ja valtuutus

Toteuttakaa turvalliset kirjautumisjärjestelmät ja hallitkaa käyttäjien pääsyä eri ominaisuuksiin ja tietoihin

Oppitunti 3/412 vaihetta

Käyttäjien todentaminen ja valtuutus on ilmainen AI SaaS -sovellusten 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 AI SaaS -sovellusten rakentaminen-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. AI SaaS -sovellusten rakentaminen-kurssilla on yhteensä 4 oppituntia.

Tervetuloa turvallisen käytön pariin!

Tässä oppitunnissa perehdymme käyttäjän todentamiseen ja valtuutukseen. Ne ovat ratkaisevan tärkeitä kaikissa turvallisissa sovelluksissa, erityisesti tekoälypohjaisissa SaaS-palveluissa, jotta vain oikeat käyttäjät pääsevät käyttämään oikeita ominaisuuksia.

Ajattele niitä eksklusiivisen tekoälykerhosi ovimiehenä ja vieraslistana!

Henkilöllisyyden todistaminen

Todentaminen (AuthN) on käyttäjän henkilöllisyyden varmistamista. Se vastaa kysymykseen: "Oletteko se, joka sanotte olevanne?"

  • Käyttäjänimi ja salasana: Yleisin menetelmä.
  • OAuth: Kirjautuminen Googlen, Facebookin ja muiden palveluiden avulla.
  • Biometriset tunnisteet: Sormenjälki tai kasvojentunnistus.

Kun käyttäjä on todennettu, järjestelmä tietää, kuka hän on.

Mitä saatte tehdä?

Valtuutus (AuthZ) määrittää, mitä todennettu käyttäjä saa tehdä tai käyttää. Se vastaa kysymykseen: "Kun nyt tiedämme, kuka olette, mitä oikeuksia teillä on?"

Järjestelmänvalvoja voi esimerkiksi käyttää kaikkia asetuksia, kun taas tavallinen käyttäjä voi tarkastella vain omia tietojaan.

Salasanojen suojaaminen

Älkää koskaan tallentako käyttäjien salasanoja selväkielisinä! Käyttäkää sen sijaan yksisuuntaista kryptografista funktiota, jota kutsutaan hajautukseksi. Hajautus muuntaa salasanan kiinteän pituiseksi merkkijonoksi.

Vaikka tietokantaan murtauduttaisiin, hyökkääjät eivät saisi haltuunsa oikeita salasanoja vaan ainoastaan niiden hajautusarvot. Hajautusarvosta ei voi palauttaa alkuperäistä salasanaa.

Hajautus käytännössä

Tässä on yksinkertaistettu Java-esimerkki, joka havainnollistaa, miten salasana voidaan hajauttaa. Oikean maailman sovelluksissa käytetään vahvempia algoritmeja, kuten bcrypt- tai Argon2-algoritmia, ja usein myös suolaa turvallisuuden parantamiseksi.

Kokeilkaa suorittaa tämä esimerkki:

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.nio.charset.StandardCharsets;

public class Main {
  public static void main(String[] args) {
    String password = "mySecretPassword123";
    try {
      MessageDigest digest = MessageDigest.getInstance("SHA-256");
      byte[] encodedhash = digest.digest(
        password.getBytes(StandardCharsets.UTF_8));

      StringBuilder hexString = new StringBuilder(2 * encodedhash.length);
      for (int i = 0; i < encodedhash.length; i++) {
        String hex = Integer.toHexString(0xff & encodedhash[i]);
        if(hex.length() == 1) {
          hexString.append('0');
        }
        hexString.append(hex);
      }
      System.out.println("Original: " + password);
      System.out.println("Hashed:   " + hexString.toString());
    } catch (NoSuchAlgorithmException e) {
      e.printStackTrace();
    }
  }
}

Perinteiset istunnot

Monet verkkosovellukset käyttävät istuntopohjaista todentamista. Kun käyttäjä kirjautuu sisään, palvelin luo yksilöllisen istuntotunnuksen, tallentaa sen (usein tietokantaan) ja lähettää sen asiakkaalle evästeenä.

Seuraavissa pyynnöissä asiakas lähettää istuntotunnuksen, ja palvelin tarkistaa sen. Tässä menetelmässä tila säilytetään palvelimella.

JWT-tunnisteiden esittely

Skaalautuvissa rajapinnoissa, erityisesti mikropalveluissa, JSON Web Token (JWT) -tunnisteet ovat suosittuja. Ne ovat tilattomia, mikä tarkoittaa, ettei palvelimen tarvitse tallentaa istuntotietoja.

JWT sisältää tietoja käyttäjästä (väitteitä), palvelin allekirjoittaa sen ja se lähetetään asiakkaalle. Asiakas sisällyttää sen jokaiseen pyyntöön.

JWT:n rakenne

JWT koostuu kolmesta pisteillä erotetusta osasta:

  • Otsake: Tunnisteen tyyppi (JWT) ja allekirjoitusalgoritmi (esimerkiksi HS256).
  • Hyötykuorma: Sisältää esimerkiksi käyttäjätunnuksen, roolit ja vanhenemisajan kaltaisia "väitteitä".
  • Allekirjoitus: Sen avulla varmistetaan, ettei tunnistetta ole muutettu. Se luodaan otsakkeen, hyötykuorman ja salaisen avaimen avulla.

Allekirjoitus on turvallisuuden kannalta ratkaisevan tärkeä.

Käytön hallinta RBAC:n avulla

Roolipohjainen käyttöoikeuksien hallinta (RBAC) on yleinen valtuutusmalli. Käyttäjille määritetään rooleja (esimerkiksi "admin", "editor" ja "viewer"), ja rooleille myönnetään oikeudet tiettyjen toimintojen suorittamiseen.

  • Admin: Voi luoda, lukea, päivittää ja poistaa mitä tahansa tietoja.
  • Editor: Voi luoda ja päivittää omia tietojaan.
  • Viewer: Voi ainoastaan lukea tietoja.

Tämä helpottaa useiden käyttäjien käyttöoikeuksien hallintaa.

Rajapinnan valtuutuslogiikka

Kun käyttäjä on todennettu, taustajärjestelmä tarkistaa hänen valtuutensa tiettyihin rajapinnan päätepisteisiin. Tähän käytetään usein middleware-komponentteja tai interceptoreita, jotka:

  1. Poimivat käyttäjän roolin ja käyttöoikeudet hänen JWT-tunnisteestaan tai istunnostaan.
  2. Tarkistavat, onko käyttäjän roolilla oikeus pyydettyyn toimintoon.
  3. Jos oikeutta ei ole, estävät käytön (esimerkiksi palauttamalla 403 Forbidden -virheen).

Pikatarkistus

Ajatellaanpa käyttäjää, joka yrittää käyttää tekoälypohjaisen SaaS-palvelunne premium-ominaisuutta.

Taustajärjestelmän suojaaminen

Hienoa työtä! Olette oppineet käyttäjän todentamisen ja valtuutuksen keskeiset käsitteet.

  • Todentaminen: Varmistaa, "kuka" käyttäjä on.
  • Valtuutus: Määrittää, "mitä" käyttäjä saa tehdä.
  • Perehdyimme salasanojen turvalliseen hajauttamiseen, istuntopohjaisen ja tilattoman JWT-todentamisen eroihin sekä RBAC-malliin käyttöoikeuksien hallinnassa.

Näiden toteuttaminen oikein on ratkaisevan tärkeää turvallisen ja skaalautuvan tekoälypohjaisen SaaS-taustajärjestelmän rakentamisessa!

Aloita maksutta

Opi AI SaaS -sovellusten 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
12
Oppitunnit
47

Usein kysytyt kysymykset

Onko oppitunti ”Käyttäjien todentaminen ja valtuutus” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa AI SaaS -sovellusten rakentaminen-oppimispolun 3 oppituntia, myös oppitunnin “Käyttäjien todentaminen ja valtuutus”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. AI SaaS -sovellusten rakentaminen-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Käyttäjien todentaminen ja valtuutus”?

Toteuttakaa turvalliset kirjautumisjärjestelmät ja hallitkaa käyttäjien pääsyä eri ominaisuuksiin ja tietoihin Harjoittelet AI SaaS -sovellusten rakentaminen-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni AI SaaS -sovellusten rakentaminen-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin AI SaaS -sovellusten 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 ”Käyttäjien todentaminen ja valtuutus”-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ä AI SaaS -sovellusten rakentaminen-oppitunnilla?

Kyllä. Jokainen AI SaaS -sovellusten 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. RESTful-rajapintojen suunnittelu
  2. SaaS-palvelun tietokantojen hallinta
  3. Käyttäjien todentaminen ja valtuutus
  4. AI-pyyntöjen nopeusrajoitus ja jonotus
← Takaisin: AI SaaS -sovellusten rakentaminen