Käyttäjän autentikoinnin toteutus MERN-sovellukseen
Vepsäläinen, Joni (2023)
Vepsäläinen, Joni
2023
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2023120835307
https://urn.fi/URN:NBN:fi:amk-2023120835307
Tiivistelmä
Tämän opinnäytetyön tavoitteena on jatkokehittää selaimessa suoritettavaa MERN-sovellusta lisäämällä sovellukseen käyttäjän autentikointi ja samalla perehtyä toteutuksessa tarvittaviin teknologioihin. Sovellus on oma projekti, joka on kehitetty itsenäisesti keväällä 2023 osana suomalaisen IT-yrityksen rekrytointiprosessia.
Työssä perehdyttiin OAuth 2.0 -protokollan ja JWT-standardin toimintaan ja periaatteisiin sekä siihen kuinka JWT-standardia tukevia kirjastoja hyödynnetään turvallisesti pyyntöjen välittämisessä. Sovelluksen frontend on kehitetty Reactilla ja tilanhallinta on toteutettu Redux/Redux Toolkitilla. Sovelluksen backend on Node.js:llä ja Expressilla toteutettu REST:full API. Käyttäjän tiedot tallennetaan pilvessä toimivaan MongoDB Atlas -tietokantapalveluun.
JWT-standardia hyödyntämällä sovellukseen saatiin luotua toimiva käyttäjätilin luominen, käyttäjätilin aktivoiminen ja kirjautuminen. Toteutuksessa hyödynnettiin JWT:tä sovelluksen kaikilla tasoilla. Sovelluksen käyttöä on rajoitettu sallimalla tietyt reitit ja toiminnot käyttäjän roolin mukaisiksi.
Työssä perehdyttiin OAuth 2.0 -protokollan ja JWT-standardin toimintaan ja periaatteisiin sekä siihen kuinka JWT-standardia tukevia kirjastoja hyödynnetään turvallisesti pyyntöjen välittämisessä. Sovelluksen frontend on kehitetty Reactilla ja tilanhallinta on toteutettu Redux/Redux Toolkitilla. Sovelluksen backend on Node.js:llä ja Expressilla toteutettu REST:full API. Käyttäjän tiedot tallennetaan pilvessä toimivaan MongoDB Atlas -tietokantapalveluun.
JWT-standardia hyödyntämällä sovellukseen saatiin luotua toimiva käyttäjätilin luominen, käyttäjätilin aktivoiminen ja kirjautuminen. Toteutuksessa hyödynnettiin JWT:tä sovelluksen kaikilla tasoilla. Sovelluksen käyttöä on rajoitettu sallimalla tietyt reitit ja toiminnot käyttäjän roolin mukaisiksi.