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
| Tapa | Miten se toimii | Hyvää | Huonoa |
|---|---|---|---|
| Sähköposti + salasana | Käyttäjä luo salasanan; tallennat siitä tiivisteen | Tuttu, toimii ilman sähköpostin lähetyksiä | Salasanojen nollaukset, uudelleenkäyttö, tietovuodot; salasanat on tallennettava turvallisesti |
| Taikalinkki | Käyttäjä syöttää sähköpostinsa ja klikkaa lähettämääsi linkkiä | Ei salasanoja tallennettavana tai unohdettavana | Riippuu sähköpostin toimituksesta; kirjautuminen hitaampaa |
| Kertakoodi | Käyttäjä syöttää sähköpostinsa ja kirjoittaa 6-numeroisen koodin | Toimii, kun linkit avautuvat väärässä selaimessa | Sama riippuvuus sähköpostista |
| Sosiaalinen / OAuth (Google, Apple, GitHub, Microsoft) | Toinen palveluntarjoaja vahvistaa, kuka käyttäjä on | Nopein käyttäjille; sinun ei tarvitse tallentaa salasanaa | Kä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:
- 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).
- Luo Clients-sivulla asiakas tyyppiä ”Web application”.
- 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.
- 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 lukienhttpvs.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
localhostkehityksen 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ähestymistapa | Esimerkkejä | Milloin sopii |
|---|---|---|
| Hostattu todennuspalvelu | Palvelut, jotka isännöivät kirjautumisen, käyttäjähallinnan ja istunnot puolestasi | Haluat kirjautumisen toimimaan nopeasti vähemmällä turvallisuusvastuulla |
| Todennuskirjasto sovelluksessasi | Avoimen lähdekoodin kirjastot kehysympäristöösi | Haluat 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:
| Rooli | Tyypilliset oikeudet |
|---|---|
| Vierailija | Näkee julkiset sivut |
| Jäsen / asiakas | Näkee ja muokkaa omia tietueitaan |
| Henkilökunta | Nä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) jaSameSite - 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:
- Valitse lähestymistapa — esimerkiksi sähköposti ja salasana omassa tietokannassasi tai hostatun palveluntarjoajan SDK.
- Jos tallennat käyttäjät itse, sovellus tarvitsee tietokannan; pyydä sitä chatissa tai käytä komentoa
/database. - Aseta palveluntarjoajan avaimet projektin salaisuuksiin (
/secretstai projektin asetukset). - 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ä.