Modul 5 · 5.1
CalDAV och CardDAV: så synkroniserar du kalender och kontakter
Modul 5: Kalender och kontakter · Lästid: 10 minuter
Lärandemål: Efter denna lektion kan du förklara hur CalDAV och CardDAV håller din kalender och dina kontakter synkade mellan server och enheter, varför du inte märker det förrän du ställer in en app, och vilka uppgifter du behöver för att koppla en app.
Nyckelbegrepp: CalDAV, CardDAV, WebDAV, synkronisering, serveradress, .well-known/caldav, .well-known/carddav, principal, app-lösenord, Exchange ActiveSync, standardkalender
Kalender och kontakter bor på en server
Hos Google och Microsoft märker du inte hur din kalender hamnar på telefonen. Du loggar in med ditt konto, och kalendern och kontakterna finns där. Bakom kulisserna använder de ofta sitt eget sätt att synkronisera: Microsoft använder Exchange ActiveSync och egna kopplingar, Google sin egen kontosynkronisering på Android.
Hos en europeisk leverantör går det nästan alltid via två öppna standarder:
- CalDAV (RFC 4791) för kalendrar och att göra-listor;
- CardDAV (RFC 6352) för kontaktpersoner.
Båda bygger vidare på WebDAV, en utökning av vanlig webbtrafik (HTTPS) som gör att du kan läsa och skriva filer på en server. En bokning är för CalDAV en liten fil i iCalendar-format (lektion 5.2), en kontaktperson en liten fil i vCard-format. Servern sparar dessa filer i en mapp per kalender eller adressbok. Din telefon, din laptop och webbkalendern frågar varje par minuter: "vad har ändrats sedan förra gången?" och hämtar bara ändringarna.
iPhone <--CalDAV/HTTPS--> server: /calendars/anne/werk/ <--CalDAV--> laptop (Thunderbird)
^
|
webbkalender i webbläsarenDen stora fördelen med en öppen standard: du är inte bunden till en enda app. Kalenderappen på din iPhone, DAVx5 på Android, Thunderbird, Kalender på Mac och många andra appar talar CalDAV. Byter du senare till en annan leverantör som också har CalDAV, ställer du in samma appar på nytt.
Varför du inte ser det förrän du ställer in en app
Efter att du flyttat över din kalender (lektion 5.2 och 5.3) ligger allt prydligt i webbkalendern hos din nya tjänst. Din telefon vet ännu ingenting om det. Det finns ingen app som dyker upp av sig själv: du måste lägga till ett konto på varje enhet. För det behöver du tre saker:
| Uppgift | Exempel hos Bageriet Gryn |
|---|---|
| Serveradressen | https://cloud.example.com eller den fullständiga DAV-adressen, till exempel https://cloud.example.com/remote.php/dav |
| Användarnamnet | anne |
| Ett lösenord | ett app-lösenord, se nedan |
Serveradressen och .well-known
Varje tjänst har en egen sökväg där CalDAV och CardDAV bor. Hos Nextcloud är det /remote.php/dav, hos andra servrar något annat. För att slippa att alla behöver känna till den sökvägen finns det en överenskommelse (RFC 6764): en app som bara får domännamnet kollar först på en fast plats:
https://cloud.example.com/.well-known/caldav
https://cloud.example.com/.well-known/carddavServern svarar där med en omdirigering till den riktiga sökvägen. Fungerar omdirigeringen bra, behöver du bara fylla i cloud.example.com i din iPhone. Fungerar den inte, säger appen "kan inte verifiera konto" och du måste fylla i hela adressen. Samma RFC beskriver också SRV-poster (_caldavs._tcp.example.com) som gör att en app kan hitta servern utifrån ditt e-postdomän. Inte alla appar använder det.
Därefter frågar appen servern efter din principal: den fasta platsen för ditt konto på servern, med listan över dina kalendrar och adressböcker. På så sätt hittar appen automatiskt alla kalendrar, även de som delats med dig.
Varför du behöver ett app-lösenord
De flesta europeiska molntjänster kräver vid inloggning i webbläsaren ett andra steg: en kod via e-post, en autentiseringsapp eller en passkey. En kalenderapp på din telefon kan inte fylla i det andra steget. Den har bara ett fält för användarnamn och lösenord.
Därför skapar du för en sådan app ett app-lösenord: ett långt, slumpmässigt lösenord som bara gäller för just den appen. Du skapar det i säkerhetsinställningarna för ditt moln, ger det ett igenkännbart namn ("Kalender iPhone Anne") och fyller i det i appen.
Fördelar:
- Ditt riktiga lösenord ligger inte på din telefon.
- Tappar du bort telefonen drar du bara in det app-lösenordet; resten fortsätter fungera.
- Ändrar du ditt vanliga lösenord fortsätter dina appar att fungera.
Vissa appar kan även logga in via webbläsaren: de öppnar inloggningsskärmen för ditt moln, du gör det andra steget där, och appen får själv ett app-lösenord. DAVx5 på Android kan till exempel göra det med Nextcloud.
Det vanligaste felmeddelandet vid kalenderappar är 401 Unauthorized. Nästan alltid betyder det: du har använt ditt vanliga lösenord istället för ett app-lösenord, eller app-lösenordet har dragits in.
Exchange-kalendrar och vad du förlorar
Den som kommer från Microsoft 365 är van vid några saker som fungerar annorlunda eller inte alls med CalDAV:
- Se kollegors ledig/upptagen-status vid planering. Nextcloud och andra CalDAV-servrar har en egen form (tillgänglighet inom samma server), men den fungerar inte mellan olika tjänster och inte alltid i varje app.
- Boka rum och utrustning (mötesrum, projektor). Vissa servrar har resurskalendrar, andra inte.
- Delegerad åtkomst ("sekreteraren sköter chefens kalender"). Med CalDAV löser du det genom att dela med redigeringsrättigheter.
Sätt upp det på din lista (modul 3). Det är sällan ett skäl att inte byta, men kollegorna behöver veta om det i förväg.
I praktiken: så ser det ut hos en leverantör
I en WebOké Nextcloud hittar du adresserna i appen Kalender, längst ner till vänster under Kalenderinställningar: CalDAV-webbadressen och Serveradress för iOS och macOS, var och en med en kopieringsknapp. Den allmänna adressen är https://<din-adress>/remote.php/dav. Ett app-lösenord skapar du under Inställningar, Säkerhet, Enheter & sessioner. Där ser du senare också vilken enhet som senast hade kontakt och när, och du kan dra in ett app-lösenord. Andra Nextcloud-leverantörer fungerar precis likadant; hos andra europeiska tjänster (till exempel mailbox.org, Posteo eller en Open-Xchange-miljö) står CalDAV-adressen i hjälpsidorna eller inställningarna, och app-lösenord kallas ibland "enhetslösenord" eller "applikationslösenord".
Sammanfattning
- CalDAV (kalender, uppgifter) och CardDAV (kontakter) är öppna standarder ovanpå WebDAV och HTTPS; varje ändring är en liten fil på servern.
- Du måste själv lägga till ett konto på varje enhet: serveradress, användarnamn och ett app-lösenord.
- Via
.well-known/caldavoch.well-known/carddavhittar en app den riktiga sökvägen utifrån bara domännamnet; fungerar inte det, fyll då i hela DAV-adressen. - Ett app-lösenord behövs eftersom kalenderappar inte kan göra ett andra inloggningssteg; ett 401-meddelande betyder nästan alltid fel lösenord.
- Exchange-funktioner som ledig/upptagen mellan kollegor, bokning av rum och delegering fungerar annorlunda; sätt upp dem på din lista.
Quiz
Uppgift
Uppgift A5.1: Hittar en app din kalender? Fyll i adressen till ditt (nya) moln, till exempel cloud.example.com. Programmet kontrollerar om /.well-known/caldav och /.well-known/carddav omdirigerar korrekt till en DAV-sökväg, och om servern svarar där som en DAV-server. På så sätt vet du om du kan fylla i bara domännamnet på en telefon.
Läs mer
Stegen i dessa artiklar gäller för WebOkés tjänster; hos andra leverantörer fungerar det på ett liknande sätt.
- Nextcloud-guide 3.5: Applösenord: när och hur
- Nextcloud-guide 9.9: Kalender och kontakter på iPhone och iPad
- Nextcloud-guide 9.10: Kalender och kontakter på Android med DAVx5
- Nextcloud-guide 15.6: Kalender eller kontakter kommer inte till mobilen
- Skapa ett applösenord (behövs för att ansluta appar och enheter)
- RFC 4791 (CalDAV), RFC 6352 (CardDAV), RFC 4918 (WebDAV), RFC 6764 (.well-known och SRV för CalDAV och CardDAV)
