Nøglerne til vores europæiske slot: Hvorfor vi valgte Authentik til PixelUnion (og Immich!)

Nøglerne til vores europæiske slot: Hvorfor vi valgte Authentik til PixelUnion (og Immich!)

Nøglerne til vores europæiske slot: Hvorfor vi valgte Authentik til PixelUnion (og Immich!)

Som I ved kører vi PixelUnion – jeres privatlivsorienterede Google Photos-alternativ fra Europa. Hele vores drift er grundlagt på troen på at Europa bør klare sig selv, og at den tech vi bygger her kan måle sig med sine amerikanske modstykker.

Når man bygger en platform, er der én tjeneste der er fuldstændig uomgængelig for sikkerhed: Identity Provider (IDP). Denne hjørnesten bærer vores brugere identitet og nøglerne til slottene. For os er det en kerneværdi at kritiske tjenester som denne skal være baseret i Europa.

Så lad os tale om hvordan vi landede på Authentik.


Problemet med identitet i Immich

Vores fundament er bygget på Immich. Immich er fantastisk, men det er designet til kun at håndtere simple interne brugere med brugernavn og adgangskode, og det understøtter ikke multi-faktor-autentificering (MFA).

Det er ikke en fejl; det er et smart designvalg! Immich-teamet mener – og vi er enige – at kørsel af en identity provider er et stort arbejde der bør udføres af specialiseret software vedligeholdt af professionelle og sikkerhedsingeniører. De fokuserer på Immichs kernekvalitet og funktioner, ikke på at genopfinde løste problemer.

Men da vi kører en SaaS-platform havde vi desperat brug for avanceret sikkerhed:

  1. MFA: Vi skal understøtte funktioner som bruger pass keys eller et tidsbegrænset token (den engangsadgangskode du får fra at scanne en QR-kode med en authenticator-app).
  2. Brugerflow: Vi har brug for at vores brugere kan invitere familie og venner direkte fra Immich-interfacet. Det betyder et specifikt flow: tilføje en bruger til PixelUnion-tenanten, maile dem for at oprette en konto hos vores IDP, og derefter omdirigere dem tilbage til deres instans.

Hvorfor vi måtte bygge det selv

Vi brugte noget tid på at søge i økosystemet efter en IDP der passede til vores strenge, europæisk-fokuserede kriterier. Vi havde brug for en udbyder der var:

  1. Europæisk og pålidelig
  2. I stand til at hoste vores behov
  3. Konkurrencedygtig prissat for vores eksterne brugere (der tæller i tusindvis)

Efter en grundig søgning indså vi at vi ikke kunne finde en ekstern identity provider der opfyldte alle fire punkter.

Det efterlod os med kun én realistisk mulighed: at hoste vores egen identity provider. Selv om vi kiggede på andre spillere som Keycloak, valgte vi i sidste ende Authentik.


Authentik: Open source, sikker og omkostningseffektiv

Authentik er en fremragende IDP der med det samme opfyldte alle vores krav til sikkerhed, kontrol og fremtidig vækst:

1. Sikkerhed og åbenhed

Authentik er ordentligt open source, hvilket giver gennemsigtighed og lader os prioritere kontrol, tilpasning og dataprivatliv. Den giver ordentlig understøttelse for al den multi-faktor-autentificering vi kræver og tilbyder endda avancerede funktioner vi tror vi kan få brug for senere.

2. Branchestandarder og fleksibilitet

Det er enormt: Authentik bruger kendte branchestandardprotokoller. Den understøtter SAML2, OAuth2, OpenID Connect (OIDC), LDAP og Radius. Hvorfor betyder det noget? Fordi en applikation ikke behøver at understøtte Authentik direkte, men derimod de standardprotokoller den arbejder med.

Kort sagt vil næsten alt der understøtter OIDC virke med den. Denne fleksibilitet betyder at vi kan håndtere al vores autentificering ét sted. Plus den beskrives som ekstremt tilpasningsbar.

3. Omkostningseffektivitet

Authentik er gratis og open source. Det betyder at vi kan hoste den selv, hvilket er meget mere omkostningseffektivt end at bruge en tredjepartstjeneste der tager betaling per bruger eller per autentificering. Med vores brugerbase er det en væsentlig fordel.


Hvad kommer næste? Vi bygger det!

Vi er i øjeblikket i gang med at bygge løsningen. Vi vil flytte vores brugere og vores platform til Authentik i de kommende måneder, men vores absolutte prioritet lige nu er grundig betatest og sikring af identity provideren med moderne teknikker.

For vores brugere er en problemfri oplevelse ved konfiguration af deres MFA afgørende. På grund af den måde vi skal håndtere invite-flowet på vil denne overgang kræve en lille ændring i/for det open-source Immich-projekt. Vi planlægger at offentliggøre disse ændringer og holder jer fuldt opdateret efterhånden som vi implementerer IDP’en.

Følg med efter flere opdateringer når vi finaliserer dette afgørende skridt mod et sikkert, europæisk-kontrolleret fotoalternativ!