Davdroid, RFC 6764, DNS et Nextcloud

Et oui rien que ça !

Les présentations

Davdroid permet de synchroniser contacts et agendas via carddav et caldav avec son android. Son intégration est totalement transparente, et ça juste marche ! (soulignons-le).

Pour cela, il suffit de rentrer l’url de son serveur Nextcloud, son login et mot de passe comme indiqué ici.

Et si je vous disais qu’il est possible de n’entrer que son email et mot de passe pour configurer son compte ? *

*Offre soumise à conditions : vos utilisateurs doivent s’authentifier via leur adresse mail (voir ici pour plus d’explications)

Introducing RFC 6764

Le RFC 6764 permet via des enregistrements DNS de publier les informations de connexion à des ressources Caldav/Carddav pour un domaine donné.

La publication d’une ressource utilise deux type d’enregistrements DNS :

  • Un de type SRV pour renseigner le nom ou IP du serveur ainsi que le port à utiliser.
    #Exemple d'un serveur caldav sans TLS 
    _caldav._tcp SRV 0 1 80 calendar.example.com. 
    
    #Exemple d'un serveur caldav avec TLS 
    _caldavs._tcp SRV 0 1 443 calendar.example.com.
  •  Un de type TXT pour le path.
    #Exemple d'un serveur caldav sans TLS 
    _caldav._tcp TXT "path=/caldav"
    
    #Exemple d'un serveur caldav avec TLS 
    _caldavs._tcp TXT "path=/caldav"

(même concept avec carddav, les records sont de la forme _carddav._tcp / _carddavs._tcp)

Exemple de configuration avec Nextcloud

Imaginons que notre serveur soit joignable sur https://nextcloud.example.com/nextcloud.
Voici la configuration DNS qu’il faudrait apporter dans ce cas :

_caldavs._tcp SRV 0 1 443 nextcloud.example.com.
_caldavs._tcp TXT "path=/nextcloud/remote.php/dav/"

_carddavs._tcp SRV 0 1 443 nextcloud.example.com.
_carddavs._tcp TXT "path=/nextcloud/remote.php/dav/"

Évidemment c’est à adapter en fonction de votre environnement !

Cette configuration doit être rajoutée sur tous les domaines mails gérés par votre serveur.

Une fois cela fait, plus besoin d’indiquer quoi que soit d’autre à Davdroid que sont email/mot de passe et il retrouvera ses petits tout seul !

7 réflexions sur « Davdroid, RFC 6764, DNS et Nextcloud »

    1. Oui c’est tout à fait possible.

      Le LDAP peut devenir nécessaire à partir du moment où il faut gérer une grosse base d’utilisateurs et/ou avec des services interconnectés.

  1. La RFC semble indiquer :

    Assignment Note: This is an extension of the https service. Defined
    TXT keys: path=

    D’ailleurs les premier exemples de ton billet sont sous cette forme.

    _caldavs._tcp TXT path=’/nextcloud/remote.php/dav/’ plante totalement avec davdroid à cause des quotes autour du path. (unexpected encodedPath: ‘/nextcloud/remote.php/dav’)

    Il faut enlever les quotes autour du path :
    _caldavs._tcp TXT path=/nextcloud/remote.php/dav/

    Dans mon cas, c’est la redirection web (.well-known/carddav) qui faisait tomber en marche l’auto-discovery.

    Et merci pour l’idée, ça rend l’utilisation de Davdroid un peu plus user-friendly. <3

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *