ZKRINET Docs
Byggblock

Social inloggning — Zkrinet-plugin

På Zkrinet: lägg till blocket under Byggblock i panelen — ett klick, din egen kod rörs inte och en ögonblicksbild tas först. Installationsstegen nedan gäller om du kör PocketBase själv, till exempel efter en export.

Logga in med Google, GitHub, Apple, Microsoft, Facebook, Discord med flera. Testat mot PocketBase 0.40.4.

Ärligt om vad som är vad

Själva inloggningen är PocketBase egen (OAuth2, ett trettiotal leverantörer). Pluginet slår på den, kopplar namn och profilbild från leverantören, och lägger till en kontroll som säger exakt vad som saknas. Det som brukar stoppa folk är inte koden — det är inställningarna hos Google & co. Därför är guiden nedan det viktigaste.

Installera

Kopiera pb_hooks/ och pb_migrations/ in i projektet och starta om. Sätt Application URL under Settings till din riktiga adress (https).

Kontrollen

GET /api/zk/social/kontroll        (superuser)

Svarar med återkopplingsadressen du ska klistra in hos leverantören, vilka leverantörer som är tillagda, och varningar (saknad eller felaktig Application URL, http i stället för https, localhost, ingen leverantör tillagd).

Lägg till en leverantör

  1. Hämta återkopplingsadressen från kontrollen. Den ser ut så här: https://dinapp.se/api/oauth2-redirect
  2. Skapa en app hos leverantören (nedan) och klistra in adressen som redirect URI / callback URL.
  3. Kopiera Client ID och Client secret till adminpanelen: Collections → users → ⚙ → OAuth2 → Add provider.
LeverantörVar du skapar appenFälla
Googleconsole.cloud.google.com → APIs & Services → Credentials → OAuth client ID (Web)Appen måste "publiceras" på OAuth consent screen, annars kan bara testanvändare logga in.
GitHubgithub.com → Settings → Developer settings → OAuth AppsEnklast av alla. Bra att börja med.
Microsoftportal.azure.com → App registrationsVälj vilka konton som får logga in (privat, jobb eller båda).
Discorddiscord.com/developers → Applications → OAuth2—
Appledeveloper.apple.com → Identifiers + KeysKräver betalt utvecklarkonto. Apple kräver dessutom Apple-inloggning i iPhone-appar som erbjuder annan social inloggning. Hemligheten är en nyckel som går ut var 6:e månad.
Facebookdevelopers.facebook.com → My AppsFungerar bara för dig själv tills appen är verifierad som företagsapp (Business verification).

Knappen i din app

await pb.collection("users").authWithOAuth2({ provider: "google" })

Vilka leverantörer som är påslagna (med namn och logga) hämtar du utan inloggning:

const { oauth2 } = await pb.collection("users").listAuthMethods()

Säkerhet