Kaffe-diem / frontend

GNU General Public License v3.0
0 stars 1 forks source link

Add client-side authentication using google #8

Closed LilleAila closed 2 days ago

LilleAila commented 5 days ago

Et komponent for en knapp som logger inn eller ut, utifra om man allerede er autentisert eller ikke. Lagt til en constants.ts med en liste over routes som krever autentisering, og skjult dem fra navbaren dersom man ikke er autentisert. Nå skal man kunne gjøre:

import { pb } from "$lib/stores/authStore";

og deretter bruke pb som vanlig. Denne bør alltid være autentisert fra før, siden hvis ikke skal man bli redirected, da routen krever autentisering ifølge protectedRoutes-listen.

også fikset høyden på parent i /display, slik at den fyller hele skjermen

IldenH commented 3 days ago

@kluvin har du også lyst å se gjennom PR-en?

LilleAila commented 2 days ago

Jeg testet lokalt at funksjonalitet er OK i Firefox og Safari. Jeg er ikke kjent med spesifikt hvordan implentasjonen bør se ut i henhold til samhold mellom PB, Svelte, og OAauth, @LilleAila var dette basert på artikkelen du delte? Det ser delvis slik ut.

Firefox er OK, Safari på Mac fungerer ikke, det kan være relevant å se på diskusjoner fra (pocketbase/pocketbase#2429 (comment))

Dette virker som et kjent problem.

Observasjon: Når pop-up vindu åpnes og en bruker er valgt, vil pop-upen lukkes. Forventet resultat: Jeg er logget inn på selektert bruker. Gitt resultat: Jeg er ikke logget inn på selektert bruker.

Jeg tror vi må tilbake å debugge dette eksakte problemet, men jeg velger å godkjenne PR ettersom dette er et etablert problem rundt PB og G OAuth. Lager issue om saken.

Per nå er det mulig å fortsette utvikling med dette. Bra jobba!

Den var originalt basert på artikkelen, men jeg skrev det om slik at den handler lagring av autentisering på frontenden, og skrev en hook som leser cookies direkte derfra. (Dette betyr at det er enklest å gjøre requests til pocketbare er direkte fra frontend, gjennom pb fra den store-en jeg skrev)