Modulul 5 · 5.1
CalDAV și CardDAV: cum se sincronizează calendarul și persoanele de contact
Modulul 5: Calendar și persoane de contact · Timp de citire: 10 minute
Obiectivul lecției: După această lecție veți putea explica modul în care CalDAV și CardDAV mențin sincronizate calendarul și persoanele dumneavoastră de contact între server și dispozitive, de ce nu observați acest lucru decât atunci când configurați o aplicație și ce date aveți nevoie pentru a conecta o aplicație.
Noțiuni cheie: CalDAV, CardDAV, WebDAV, sincronizare, adresa serverului, .well-known/caldav, .well-known/carddav, principal, parolă de aplicație, Exchange ActiveSync, calendar implicit
Calendarul și persoanele de contact locuiesc pe un server
La Google și Microsoft nu observați cum ajunge calendarul pe telefonul dumneavoastră. Vă conectați cu contul și calendarul și persoanele de contact sunt deja acolo. În culise, acestea folosesc adesea propria metodă de sincronizare: Microsoft utilizează Exchange ActiveSync și conexiuni proprii, Google propria sincronizare de cont pe Android.
La un furnizor european, acest lucru se face aproape întotdeauna prin două standarde deschise:
- CalDAV (RFC 4791) pentru calendare și liste de sarcini;
- CardDAV (RFC 6352) pentru persoane de contact.
Ambele se bazează pe WebDAV, o extensie a traficului web obișnuit (HTTPS) prin care puteți citi și scrie fișiere pe un server. O programare este pentru CalDAV un fișier mic în format iCalendar (lecția 5.2), o persoană de contact un fișier mic în format vCard. Serverul păstrează aceste fișiere într-un folder pentru fiecare calendar sau agendă de contacte. Telefonul, laptopul și calendarul web întreabă la câteva minute: "ce s-a schimbat de data trecută?" și preiau numai modificările.
iPhone <--CalDAV/HTTPS--> server: /calendars/anne/werk/ <--CalDAV--> laptop (Thunderbird)
^
|
webagenda in de browserMarele avantaj al unui standard deschis: nu sunteți legat de o singură aplicație. Aplicația de calendar a iPhone-ului dumneavoastră, DAVx5 pe Android, Thunderbird, Calendar pe Mac și multe alte aplicații vorbesc CalDAV. Dacă treceți mai târziu la un alt furnizor care are tot CalDAV, configurați din nou aceleași aplicații.
De ce nu observați acest lucru decât atunci când configurați o aplicație
După mutarea calendarului dumneavoastră (lecțiile 5.2 și 5.3), totul este frumos ordonat în calendarul web al noului dumneavoastră serviciu. Telefonul dumneavoastră încă nu știe nimic despre asta. Nu există o aplicație care apare de la sine: trebuie să adăugați un cont pe fiecare dispozitiv. Pentru aceasta aveți nevoie de trei lucruri:
| Dată | Exemplu la Bakkerij De Korrel |
|---|---|
| Adresa serverului | https://cloud.example.com sau adresa DAV completă, precum https://cloud.example.com/remote.php/dav |
| Numele de utilizator | anne |
| O parolă | o parolă de aplicație, vedeți mai jos |
Adresa serverului și .well-known
Fiecare serviciu are propria cale unde se găsesc CalDAV și CardDAV. La Nextcloud aceasta este /remote.php/dav, la alte servere este diferit. Pentru a evita ca toată lumea să trebuiască să cunoască această cale, există o convenție (RFC 6764): o aplicație care primește doar numele de domeniu verifică mai întâi un loc fix:
https://cloud.example.com/.well-known/caldav
https://cloud.example.com/.well-known/carddavServerul răspunde acolo cu o redirecționare către calea reală. Dacă această redirecționare funcționează corect, trebuie doar să introduceți cloud.example.com pe iPhone. Dacă nu funcționează, aplicația spune "nu se poate verifica contul" și trebuie să introduceți adresa completă. Același RFC descrie și înregistrări SRV (_caldavs._tcp.example.com) cu ajutorul cărora o aplicație poate găsi serverul pornind de la domeniul dumneavoastră de e-mail. Nu toate aplicațiile folosesc acest lucru.
Apoi aplicația întreabă serverul despre principal-ul dumneavoastră: locul fix al contului dumneavoastră pe server, cu lista calendarelor și agendelor de contacte proprii. Astfel aplicația găsește automat toate calendarele, inclusiv cele partajate cu dumneavoastră.
De ce aveți nevoie de o parolă de aplicație
Majoritatea serviciilor cloud europene solicită, la autentificarea în browser, un al doilea pas: un cod prin e-mail, o aplicație de autentificare sau o cheie de acces (passkey). O aplicație de calendar de pe telefonul dumneavoastră nu poate completa acest al doilea pas. Are doar un câmp pentru numele de utilizator și parolă.
De aceea creați pentru o astfel de aplicație o parolă de aplicație: o parolă lungă, generată aleatoriu, valabilă numai pentru acea aplicație. O creați în setările de securitate ale serviciului dumneavoastră cloud, îi dați un nume ușor de recunoscut ("Calendar iPhone Anne") și o introduceți în aplicație.
Avantaje:
- Parola dumneavoastră reală nu se află pe telefon.
- Dacă vă pierdeți telefonul, revocați doar acea parolă de aplicație; restul continuă să funcționeze.
- Dacă vă schimbați parola obișnuită, aplicațiile dumneavoastră continuă să funcționeze.
Unele aplicații se pot autentifica și prin browser: deschid ecranul de autentificare al serviciului dumneavoastră cloud, dumneavoastră efectuați acolo al doilea pas, iar aplicația primește ea însăși o parolă de aplicație. DAVx5 pe Android poate face acest lucru cu Nextcloud, de exemplu.
Cea mai cunoscută eroare la aplicațiile de calendar este 401 Unauthorized. Aproape întotdeauna aceasta înseamnă: ați folosit parola dumneavoastră obișnuită în loc de o parolă de aplicație, sau parola de aplicație a fost revocată.
Calendarele Exchange și ce pierdeți
Cine vine de la Microsoft 365 este obișnuit cu câteva lucruri care funcționează diferit sau deloc cu CalDAV:
- Vizualizarea liber/ocupat a colegilor la planificare. Nextcloud și alte servere CalDAV au o formă proprie (disponibilitate în cadrul aceluiași server), dar aceasta nu funcționează între servicii diferite și nu întotdeauna în fiecare aplicație.
- Rezervarea de săli și echipamente (sală de ședințe, videoproiector). Unele servere au calendare de resurse, altele nu.
- Acces delegat ("secretara administrează calendarul directorului"). La CalDAV reglați acest lucru prin partajare cu drepturi de editare.
Notați acest lucru pe lista dumneavoastră (modulul 3). Rareori este un motiv pentru a nu trece la o altă soluție, dar colegii trebuie să afle despre asta în prealabil.
În practică: așa arată la un furnizor
Într-un Nextcloud WebOké găsiți adresele în aplicația Calendar, jos în stânga la Setări calendar: URL CalDAV și Adresa serverului pentru iOS și macOS, fiecare cu un buton de copiere. Adresa generală este https://<adresa-dumneavoastră>/remote.php/dav. Creați o parolă de aplicație la Setări, Securitate, Dispozitive și sesiuni. Acolo vedeți ulterior și ce dispozitiv a avut ultimul contact și când, și revocați o parolă de aplicație. Alți furnizori Nextcloud funcționează exact la fel; la alte servicii europene (de exemplu mailbox.org, Posteo sau un mediu Open-Xchange) adresa CalDAV se găsește în paginile de ajutor sau în setări, iar parolele de aplicație se numesc uneori "parolă de dispozitiv" sau "parolă de aplicație".
Rezumat
- CalDAV (calendar, sarcini) și CardDAV (persoane de contact) sunt standarde deschise construite peste WebDAV și HTTPS; fiecare modificare este un fișier mic pe server.
- Trebuie să adăugați singur un cont pe fiecare dispozitiv: adresa serverului, numele de utilizator și o parolă de aplicație.
- Prin
.well-known/caldavși.well-known/carddavo aplicație găsește calea reală pornind doar de la numele de domeniu; dacă nu funcționează, introduceți adresa DAV completă. - O parolă de aplicație este necesară deoarece aplicațiile de calendar nu pot efectua un al doilea pas de autentificare; un mesaj 401 înseamnă aproape întotdeauna o parolă greșită.
- Funcții Exchange precum liber/ocupat între colegi, rezervarea de săli și delegarea funcționează diferit; notați-le pe lista dumneavoastră.
Quiz
Exercițiu
Exercițiul A5.1: Găsește o aplicație calendarul dumneavoastră? Introduceți adresa cloud-ului dumneavoastră (nou), de exemplu cloud.example.com. Programul verifică dacă /.well-known/caldav și /.well-known/carddav redirecționează corect către o cale DAV și dacă serverul răspunde acolo ca server DAV. Astfel aflați dacă pe un telefon puteți introduce doar numele de domeniu.
Lectură suplimentară
Pașii din aceste articole sunt valabili pentru serviciile WebOké; la alți furnizori funcționează similar.
- Manual Nextcloud 3.5: Parole de aplicație: când și cum se folosesc
- Manual Nextcloud 9.9: Calendarul și contactele pe iPhone și iPad
- Manual Nextcloud 9.10: Calendar și contacte pe Android cu DAVx5
- Manual Nextcloud 15.6: Calendarul sau contactele nu apar pe telefon
- Crearea unei parole de aplicație (necesară pentru conectarea aplicațiilor și dispozitivelor)
- RFC 4791 (CalDAV), RFC 6352 (CardDAV), RFC 4918 (WebDAV), RFC 6764 (.well-known și SRV pentru CalDAV și CardDAV)
