Keycloak-identiteetinhallintapalvelun käyttöönotto Spring Boot -sovelluksessa
Helin, Aki (2024)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2024052917741
https://urn.fi/URN:NBN:fi:amk-2024052917741
Tiivistelmä
Opinnäytetyön tarkoituksena oli mahdollistaa asiakkaiden käyttämien autentikointipalveluiden integraatio toimeksiantaja Dicode Oy:n toimittamiin räätälöityihin verkkosovelluksiin. Tavoitteena oli, että asiakkaat voisivat käyttää nykyisiä käyttäjätunnuksiaan kirjautuessaan tilaamiinsa verkkosovelluksiin samalla, kun ylläpidon kontrolli pysyisi Dicodella. Tavoite oli mahdollista saavuttaa identiteetin- ja pääsynhallintapalvelu Keycloakin avulla, joka oli jo toimeksiantajan sisäisessä käytössä.
Keycloak pyrittiin kytkemään projektipohjaan niin, että tulevissa projekteissa Keycloakin käyttöönotto olisi helppoa, mutta toteutus pysyisi kuitenkin erillään jo olemassa olevasta autentikointitavasta. Tämä mahdollistaisi molempien tapojen rinnakkaiskäytön säilyttäen kuitenkin koodin selkeyden. Työ sisälsi myös muiden autentikointipalveluiden integrointiprosessin tutkimisen.
Opinnäytetyön lopputuloksena syntyi Spring Boot -perustaiseen projektipohjaan liitetty toiminnallisuus, joka mahdollistaa Keycloakin käytön niin paikallisessa kehitystyössä kuin tuotantoympäristössäkin. Paikallisesti toteutetun autentikointipalvelun integroinnin pohjalta valmistui myös ohjeistus, joka auttaa kehittäjiä integrointiprosessissa. Sen avulla Dicode pystyy vastaamaan tehokkaammin vaihtuviin tulevaisuuden asiakastarpeisiin.
Keycloakissa on laajasti konfigurointi- ja kustomointimahdollisuuksia, joista käsitellään opinnäytetyöhön tehdyissä tutkimuksissa vain pieni osa. Jatkokehitykseen ehdotetaan muun muassa Keycloak-kirjautumisnäkymän ulkoasun yhtenäistämistä asiakassovelluksen teeman mukaiseksi, jolloin kirjautumisnäkymä sulautuisi saumattomasti osaksi toteutettua sovellusta.
Keycloak pyrittiin kytkemään projektipohjaan niin, että tulevissa projekteissa Keycloakin käyttöönotto olisi helppoa, mutta toteutus pysyisi kuitenkin erillään jo olemassa olevasta autentikointitavasta. Tämä mahdollistaisi molempien tapojen rinnakkaiskäytön säilyttäen kuitenkin koodin selkeyden. Työ sisälsi myös muiden autentikointipalveluiden integrointiprosessin tutkimisen.
Opinnäytetyön lopputuloksena syntyi Spring Boot -perustaiseen projektipohjaan liitetty toiminnallisuus, joka mahdollistaa Keycloakin käytön niin paikallisessa kehitystyössä kuin tuotantoympäristössäkin. Paikallisesti toteutetun autentikointipalvelun integroinnin pohjalta valmistui myös ohjeistus, joka auttaa kehittäjiä integrointiprosessissa. Sen avulla Dicode pystyy vastaamaan tehokkaammin vaihtuviin tulevaisuuden asiakastarpeisiin.
Keycloakissa on laajasti konfigurointi- ja kustomointimahdollisuuksia, joista käsitellään opinnäytetyöhön tehdyissä tutkimuksissa vain pieni osa. Jatkokehitykseen ehdotetaan muun muassa Keycloak-kirjautumisnäkymän ulkoasun yhtenäistämistä asiakassovelluksen teeman mukaiseksi, jolloin kirjautumisnäkymä sulautuisi saumattomasti osaksi toteutettua sovellusta.