For a calendar application, I want to know of 3rd party calendar event changes. For example, a user adds an iCal/Google calendar into my app. My app should be notified of changes to events. After some research, it seems CalDAV is the way to do it. But I don't fully understand how the app should work.
So my understanding so far: I will have my server act as a CalDAV client. Users will provide login credentials to my app to get data from their calendars? I have 2 concerns: Security and Performance (how to sync)
Security
This sounds like it works, but isit it very unsecure (since I will have to provide my login credentials to some untrusted server)? It seems like OAuth should be used instead? Is there something I am not understanding correctly?
How to sync and performance
I want to be notified of calendar changes (for example, if a user updates the Google Calendar). Something similar to webhooks should be the best. But is there such a thing? When I look at a package dav
in NPM, seems like its all pull based. If I have to constantly poll for changes, it might be very inefficient?
I intend to build the server using NodeJS