Full-stack-verkkosovelluksen toteuttaminen Backend for Frontend -mallilla käyttäen OAuth 2.0- ja OpenID Connect -protokollia
Pinkkilä, Petteri (2026)
Pinkkilä, Petteri
2026
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-2026051211455
https://urn.fi/URN:NBN:fi:amk-2026051211455
Tiivistelmä
Single Page Application (SPA) -teknologialla toimivien sovellusten käyttöön liittyy selainpohjaisille sovelluksille ominaisia tietoturvahaasteita, jotka korostuvat, mikäli sovellus toimii myös OAuth-asiakassovelluksena. OAuth 2.0 ja OpenID Connect ovat keskeisiä auktorisoinnin ja autentikoinnin standardeja, ja niiden turvallinen toteuttaminen selainympäristössä asettaa erityisiä vaatimuksia sovellusarkkitehtuurille. Backend for Frontend (BFF) -malli vastaa näihin haasteisiin siirtämällä OAuth 2.0- ja OpenID Connect -protokolliin sekä tietoturvaan liittyviä vastuita SPA:lta erilliselle palvelinkomponentille. Mallia pidetään yhtenä turvallisimmista lähestymistavoista OAuth-protokollia hyödyntävien selainpohjaisten verkkosovellusten toteuttamiseen.
Opinnäytetyön tavoitteena oli toteuttaa paikallisessa kehitysympäristössä toimiva full-stack-verkkosovellus, joka hyödyntää OAuth 2.0- ja OpenID Connect -protokollia sekä BFF-mallia ja jossa loppukäyttäjä pystyy kirjautumaan ja hallinnoimaan omia resurssejaan. Aiheen laajuuden vuoksi käsittelyn ulkopuolelle rajattiin muun muassa evästeiden käyttöön liittyvä tietoturva sekä sovelluskokonaisuuden tuotantoympäristöön vienti. Tietoperustassa käsiteltiin SPA:n tietoturvahaasteita, OAuth 2.0- ja OpenID Connect -protokollia sekä BFF-mallia. Opinnäytetyö toteutettiin toiminnallisena työnä keväällä 2026, ja sen empiirisessä osuudessa rakennettiin sovelluskokonaisuus, joka muodostuu Spring Bootilla toteutetuista valtuutus-, resurssi- ja BFF-palvelimista sekä React-sovelluksesta.
Opinnäytetyön tavoitteet saavutettiin, ja työn tuloksena syntyi toimiva sovelluskokonaisuus, joka havainnollistaa BFF-mallin hyödyntämistä OAuth 2.0- ja OpenID Connect -protokollia käyttävien selainpohjaisten verkkosovellusten tietoturvan toteuttamisessa. Toteutus tarjoaa jatkokehityskelpoisen pohjan ja antaa konkreettisen esimerkin BFF-mallin soveltamisesta full-stack-kontekstissa Spring Boot- ja React-teknologioilla. Toteutuksen lähdekoodi on saatavilla osoitteessa https://github.com/pinkkila/bff-pattern.
Opinnäytetyön tavoitteena oli toteuttaa paikallisessa kehitysympäristössä toimiva full-stack-verkkosovellus, joka hyödyntää OAuth 2.0- ja OpenID Connect -protokollia sekä BFF-mallia ja jossa loppukäyttäjä pystyy kirjautumaan ja hallinnoimaan omia resurssejaan. Aiheen laajuuden vuoksi käsittelyn ulkopuolelle rajattiin muun muassa evästeiden käyttöön liittyvä tietoturva sekä sovelluskokonaisuuden tuotantoympäristöön vienti. Tietoperustassa käsiteltiin SPA:n tietoturvahaasteita, OAuth 2.0- ja OpenID Connect -protokollia sekä BFF-mallia. Opinnäytetyö toteutettiin toiminnallisena työnä keväällä 2026, ja sen empiirisessä osuudessa rakennettiin sovelluskokonaisuus, joka muodostuu Spring Bootilla toteutetuista valtuutus-, resurssi- ja BFF-palvelimista sekä React-sovelluksesta.
Opinnäytetyön tavoitteet saavutettiin, ja työn tuloksena syntyi toimiva sovelluskokonaisuus, joka havainnollistaa BFF-mallin hyödyntämistä OAuth 2.0- ja OpenID Connect -protokollia käyttävien selainpohjaisten verkkosovellusten tietoturvan toteuttamisessa. Toteutus tarjoaa jatkokehityskelpoisen pohjan ja antaa konkreettisen esimerkin BFF-mallin soveltamisesta full-stack-kontekstissa Spring Boot- ja React-teknologioilla. Toteutuksen lähdekoodi on saatavilla osoitteessa https://github.com/pinkkila/bff-pattern.
