Oppaat

Kirjautumisen lisääminen sovellukseesi: salasanat, taikalinkit, Google ja roolit

Kirjautumisen lisääminen sovellukseen tarkoittaa, että valitset tavan — sähköposti ja salasana, taikalinkit (kertakäyttöinen kirjautumislinkki sähköpostitse) tai ”Kirjaudu Googlella” — ja toteutat sen todetulla todennuskirjastolla tai hostatulla palvelulla eikä aloittaen tyhjästä. Sen jälkeen päätät, mitä kukin käyttäjätyyppi saa tehdä (roolit), ja pakotat sen palvelimella jokaisella sivulla ja API-pyynnöllä. Istuntojen pitää käyttää turvallisia evästeitä, vanhentua ja päättyä kunnolla uloskirjautuessa.

Tämä opas käy läpi jokaisen valinnan ja yksityiskohdat, jotka erottavat toimivan kirjautumisen turvallisesta. Käsitteistä kertoo mikä todennus on.

Päätä ensin: tarvitsetko kirjautumista lainkaan?

Kirjautuminen lisää kitkaa ja vastuuta. Sitä tarvitaan, kun:

  • Käyttäjillä on yksityistä dataa (varauksia, asiakirjoja, laskuja)
  • Käyttäjät voivat muuttaa asioita, jotka muut näkevät
  • Maksat pääsystä
  • Eri ihmisillä on eri oikeudet (omistaja, henkilökunta, asiakas)

Et ehkä tarvitse sitä markkinointisivustolle, julkiselle hakemistolle tai lomakkeelle, joka vain lähettää sinulle sähköpostin. Odotuslista ei tarvitse tilejä; sähköpostikenttä riittää.

Neljä yleistä kirjautumistapaa

TapaMiten se toimiiHyvääHuonoa
Sähköposti + salasanaKäyttäjä luo salasanan; tallennat siitä tiivisteenTuttu, toimii ilman sähköpostin lähetyksiäSalasanojen nollaukset, uudelleenkäyttö, tietovuodot; salasanat on tallennettava turvallisesti
TaikalinkkiKäyttäjä syöttää sähköpostinsa ja klikkaa lähettämääsi linkkiäEi salasanoja tallennettavana tai unohdettavanaRiippuu sähköpostin toimituksesta; kirjautuminen hitaampaa
KertakoodiKäyttäjä syöttää sähköpostinsa ja kirjoittaa 6-numeroisen koodinToimii, kun linkit avautuvat väärässä selaimessaSama riippuvuus sähköpostista
Sosiaalinen / OAuth (Google, Apple, GitHub, Microsoft)Toinen palveluntarjoaja vahvistaa, kuka käyttäjä onNopein käyttäjille; sinun ei tarvitse tallentaa salasanaaKäyttäjillä pitää olla tili kyseisessä palvelussa; määritys palveluntarjoajalla

Monet sovellukset yhdistävät kaksi: Google-kirjautuminen ja sähköpostitaikalinkit on suosittu pari, joka kattaa useimmat ihmiset tallentamatta yhtään salasanaa.

Sähköposti ja salasana

Jos tarjoat salasanoja, nämä ovat ehdottomia:

  • Tiivistä salasanat hitaalla salasanatiivistysalgoritmilla. OWASPin salasanojen tallennusohjeen mukaan suositellaan Argon2id:tä, vaihtoehtoina scrypt, bcrypt tai PBKDF2. Älä koskaan tallenna salasanoja selkotekstinä tai nopealla yleisellä tiivisteellä.
  • Salasanan nollaus käyttää satunnaista, kertakäyttöistä ja vanhenevaa linkkiä, joka lähetetään vahvistettuun sähköpostiin.
  • Älä paljasta, mitkä sähköpostit ovat rekisteröityneitä. ”Jos tämä sähköposti on rekisteröity, lähetimme palautuslinkin” on parempi kuin ”Tiliä ei löytynyt”.
  • Rajoita kirjautumis- ja nollausyrityksiä, jotta salasanojen arvaaminen hidastuu.
  • Salli pitkät salasanat ja salasanahallinnat; jätä pois säännöt, jotka pakottavat outoja merkkiyhdistelmiä.

Taikalinkit ja kertakoodit

Taikalinkki on käyttäjälle sähköpostitse lähetettävä kirjautumislinkki. Sen klikkaaminen kirjaa käyttäjän sisään. Kertakoodi on sama idea, mutta kirjoitettuna klikkaamisen sijaan.

  • Linkit ja koodit vanhenevat nopeasti ja toimivat vain kerran.
  • Linkin pitäisi kirjata käyttäjä sisään laitteella, jolla hän klikkasi, eikä tunnisteen saa jäädä lokeihin tai analytiikkatyökaluihin.
  • Tarvitset luotettavan sähköpostin lähetyksen — katso miten lähetät sähköposteja sovelluksestasi. Testaa Gmaililla ja Outlookilla ja tarkista roskapostikansiot.

Kirjaudu Googlella (ja muut OAuth-palveluntarjoajat)

”Kirjaudu Googlella” käyttää OAuthia ja OpenID Connectiä: Google vahvistaa, kuka käyttäjä on, ja kertoo sovelluksellesi hänen sähköpostinsa ja nimensä. Määritys tehdään syyskuun 2026 tilanteen mukaan Google Cloud Consolen Google Auth Platform -osiossa:

  1. Luo tai valitse projekti ja täytä Branding-sivu — mitä käyttäjät näkevät suostumusnäytössä (sovelluksen nimi, tukisähköposti, logo).
  2. Luo Clients-sivulla asiakas tyyppiä ”Web application”.
  3. Lisää authorized JavaScript origins -kohtaan ja redirect URI -kohtiin tarkat osoitteet, joissa sovelluksesi toimii ja joihin Google palauttaa käyttäjät kirjautumisen jälkeen.
  4. Tallenna asiakkaan tunnus ja asiakassalaisuus sovelluksesi salaisuuksiin.

Asioita, jotka menevät usein pieleen Googlen OAuth-dokumentaation mukaan:

  • redirect_uri_mismatch: uudelleenohjausosoitteen pitää täsmätä tarkasti, mukaan lukien http vs. https, isot ja pienet kirjaimet sekä mahdollinen loppuviiva. Lisää yksi esikatseluosoitteellesi ja yksi live-domainillesi.
  • HTTPS vaaditaan: uudelleenohjaus-URI:iden pitää käyttää HTTPS:ää, paitsi localhost kehityksen aikana.
  • state-parametri pitäisi tarkistaa paluussa sivustojen välisen väärennetyn pyynnön (CSRF) estämiseksi. Hyvät kirjastot tekevät tämän puolestasi.

Jos pyydät vain perustason kirjautumistietoja (nimi, sähköposti, profiili), Google sanoo sovelluksen vahvistuksen olevan vapaaehtoinen. Käyttäjien Gmailin, Driven tai kalenterin käyttöoikeuden pyytäminen on eri asia ja vaatii vahvistuksen.

Rakennatko itse vai käytätkö palveluntarjoajaa?

LähestymistapaEsimerkkejäMilloin sopii
Hostattu todennuspalveluPalvelut, jotka isännöivät kirjautumisen, käyttäjähallinnan ja istunnot puolestasiHaluat kirjautumisen toimimaan nopeasti vähemmällä turvallisuusvastuulla
Todennuskirjasto sovelluksessasiAvoimen lähdekoodin kirjastot kehysympäristöösiHaluat käyttäjät omaan tietokantaasi ilman käyttäjäkohtaisia maksuja
Kirjoita itse—Lähes koskaan. Liian monta hienovaraista yksityiskohtaa

Molemmat kaksi ensimmäistä ovat järkeviä. Hostatut palvelut hoitavat enemmän, mutta lisäävät riippuvuuden ja joskus maksavat aktiivista käyttäjää kohti; tarkista nykyinen hinnoittelu heidän sivuiltaan. Kirjastot pitävät kaiken tietokannassasi, mutta jättävät enemmän määritettävää sinulle. Kumman valitset, pyydä tekoälyä käyttämään sitä sen sijaan, että kirjoittaisit salasana- tai istuntologiikkaa käsin.

Roolit ja käyttöoikeudet

Kirjautuminen kertoo, kuka joku on. Käyttöoikeudet päättävät, mitä hän voi tehdä. Pidä alussa yksinkertaisena:

RooliTyypilliset oikeudet
VierailijaNäkee julkiset sivut
Jäsen / asiakasNäkee ja muokkaa omia tietueitaan
HenkilökuntaNäkee kaikki tiiminsä tai yrityksensä tietueet; ei voi muuttaa asetuksia tai laskutusta
Omistaja / ylläpitäjäKaikki, mukaan lukien käyttäjät ja laskutus

Säännöt, jotka ovat tärkeämpiä kuin roolien nimet:

  • Tarkista palvelimella joka kerta. Painikkeen piilottaminen sivulla ei estä ketään kutsumasta API:a suoraan.
  • Rajaa omistajan mukaan. Jäsen, joka hakee ”varaus 123” -tietueen, saa sen vain, jos se on hänen.
  • Käyttäjät eivät voi ylentää itseään. Ohita selaimesta profiilipäivityksissä lähetetyt roolikentät.
  • Oletuksena ei pääsyä. Uusien reittien pitäisi vaatia kirjautumisen, ellet päätä toisin.

Testaa kahdella tilillä: kirjaudu sisään yhdellä, merkitse tietueen tunnus, kirjaudu toisella ja yritä avata se. Tietoturvatarkistuslistamme sisältää täyden testin.

Istuntojen turvallisuus

Kirjautumisen jälkeen sovellus muistaa käyttäjän istunnon avulla — yleensä evästeen avulla. OWASPin istuntojen hallinnan ohjeet suosittelevat:

  • Istuntoevästeet asetettu Secure (vain HTTPS), HttpOnly (sivun skriptit eivät voi lukea) ja SameSite
  • Uusi istuntotunniste annetaan kirjautumisen yhteydessä ja uudelleen oikeuksien muuttuessa
  • Passiivisuusaikakatkaisu ja absoluuttinen enimmäiskesto, jotka valvotaan palvelimella
  • Uloskirjautuminen, joka lopettaa istunnon palvelimella eikä vain poista evästettä
  • Istunnot mitätöidään, kun käyttäjä vaihtaa salasanansa

Kirjautumistunnusten tallentaminen selaimen localStorageen on yleistä opetusohjelmissa, mutta se altistaa ne kaikille sivulla ajettaville skripteille; turvalliset evästeet ovat yleensä parempi oletus verkkosovelluksille.

Kehote, joka kattaa olennaisen

Lisää käyttäjätilit tähän sovellukseen. Käyttäjät voivat rekisteröityä ja kirjautua sähköpostilla ja salasanalla tai Googlella. Käytä [kirjastoa tai palveluntarjoajaa] mukautetun todennuskoodin sijaan. Tiivistä salasanat Argon2id:llä tai bcrypt:llä. Lisää salasanan nollaus sähköpostitse kertakäyttöisellä linkillä, joka vanhenee tunnissa. Pidä istunnot turvallisissa HttpOnly-evästeissä. Suojaa /dashboard ja jokainen /api-reitti niin, että vain kirjautuneet käyttäjät voivat käyttää niitä, ja varmista, että käyttäjät näkevät vain omat projektinsa. Lisää ”admin”-rooli, joka näkee kaikki käyttäjät; vain ylläpitäjät pääsevät /admin-sivulle, ja tämä tarkistetaan palvelimella.

Testaa sitten: rekisteröidy, kirjaudu ulos, kirjaudu sisään, nollaa salasana, yritä yksityistä URL-osoitetta uloskirjautuneena ja yritä toisen käyttäjän tietuetta.

Yleisimmät virheet tekoälyllä rakennetussa kirjautumisessa

  • Suojaus vain sivulla. Sivu ohjaa uloskirjautuneet käyttäjät pois, mutta API palauttaa dataa kenelle tahansa.
  • Salaisuudet selaimessa. OAuth-asiakassalaisuudet ja todennuspalvelun ylläpitoavaimet kuuluvat palvelimelle.
  • Esikatselu- ja live-URL:t sekaisin. Googlen uudelleenohjausosoite tai salasanan palautussähköpostin linkki osoittaa esikatseluun, joten kirjautuminen hajoaa julkaisun jälkeen.
  • Ei sähköpostin vahvistusta. Kuka tahansa voi rekisteröityä nimellä anyone@company.com. Vahvista sähköposti ennen kuin myönnät mitään, mikä on sidottu siihen osoitteeseen.
  • Testataan vain onnellinen polku. Kokeile vääriä salasanoja, vanhentuneita linkkejä ja toista tiliä.

Kirjautumisen lisääminen Mythexissä

Mythexissä kirjautuminen sovelluksesi käyttäjille lisätään sovellukseesi — se on erillään omasta Mythex-tilistäsi. Mythex ei tarjoa sisäänrakennettua todennustuotetta, joten tuot todennuskirjaston tai palveluntarjoajan ja sen avaimet:

  1. Valitse lähestymistapa — esimerkiksi sähköposti ja salasana omassa tietokannassasi tai hostatun palveluntarjoajan SDK.
  2. Jos tallennat käyttäjät itse, sovellus tarvitsee tietokannan; pyydä sitä chatissa tai käytä komentoa /database.
  3. Aseta palveluntarjoajan avaimet projektin salaisuuksiin (/secrets tai projektin asetukset).
  4. Käytä kehotetta kuten yllä ja testaa Previewssa. Google-kirjautumista varten lisää uudelleenohjausosoitteet sekä esikatseluosoitteellesi että julkaistulle osoitteellesi.

Katso Lisää kirjautuminen sovellukseesi dokumentaatiosta. Jos rakennat maksullista tuotetta, miten rakentaa SaaS-MVP käsittelee tilit ja laskutuksen yhdessä.

Kysymykset

Mikä on helpoin kirjautuminen lisättäväksi sovellukseen?

Hostattu todennuspalvelu tai hyvin ylläpidetty todennuskirjasto on yleensä helpoin ja turvallisin valinta, koska istunnot, salasanojen tallennus ja nollaukset on jo hoidettu. Kirjaudu Googlella on vaivattomin vaihtoehto käyttäjille, joilla on Google-tili.

Ovatko taikalinkit turvallisempia kuin salasanat?

Ne poistavat salasanojen uudelleenkäytön ja heikot salasanat, mutta siirtävät riskin käyttäjän sähköpostitilille. Linkkien pitäisi vanhentua nopeasti ja toimia vain kerran. Useimmille pienille sovelluksille ne ovat järkevä valinta, usein tarjolla yhdessä Google-kirjautumisen kanssa.

Tarvitsenko Googlen hyväksynnän Kirjaudu Googlella -toiminnon lisäämiseen?

Jos pyydät vain perustason kirjautumistietoja (nimi, sähköposti ja profiili), Google sanoo, ettei vahvistus ole pakollinen, mutta sinun pitää silti määrittää suostumusnäyttö ja OAuth-asiakas. Arkaluonteisen datan, kuten Gmailin tai Driven, käyttöoikeuden pyytäminen vaatii Googlen sovellusvahvistuksen.

Mikä ero on kirjautumisella ja käyttöoikeuksilla?

Kirjautuminen (todennus) vahvistaa, kuka käyttäjä on. Käyttöoikeudet (valtuutus) päättävät, mitä tämä käyttäjä saa nähdä ja tehdä. Sovellus tarvitsee molempia, ja käyttöoikeudet on tarkistettava palvelimella jokaisessa pyynnössä.

Mythex · Pricing · Rakenna mitä tahansa tekoälyllä · Verkkosivu- ja sovellusmallipohjat · Mythex vertailussa · Tekoälysovellusten rakentamisen sanasto · Ilmaiset työkalut tekoälysovellusten rakentamiseen · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)