-
Notifications
You must be signed in to change notification settings - Fork 161
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Google OAuth for DAV #8
Comments
|
gcalcli uses the Google API Client, while that isn't CalDAV it's probably good enough to sync with. And if I got it right, the let every user generate his/her own secret token. |
|
That library probably should be an optional dependency |
|
Indeed. |
|
Renamed from "Support OAuth" to "Support Google Calendar and Contacts" as using the Google API client doesn't really mean support for OAuth. |
|
gcalcli seems to have hardcoded credentials inside the code https://github.com/insanum/gcalcli/blob/master/gcalcli#L163 I am not sure if that's the way to go. |
|
OTOH i don't see a better way. |
|
The user could still get personalized credentials that would go in the config file. |
|
Also events and tasks don't seem to be based on ICALENDAR. We could use the icalendar library to convert the items, |
|
While it was already clear that Google Calendar also provides a CalDAV interface, there doesn't seem to be a mention that it is read-only, as was assumed by me all the time |
|
While I didn't check either, I somehow always assumed it would be read & write. |
|
@untitaker I've been using Lightning/Iceowl for a while now with Google's CalDAV and VEVENT creation/modification/deletion works just fine. Can't say I've ever tried VTODO with Google though. |
|
@muggenhor Interesting... do you have to provide username and password in Lightning, or does it support OAuth? |
|
@untitaker you don't provide a password, instead it opens an in-process browser window where you can log in to your Google account and authorize Lightning for access to your calendar. I'm not sure whether that was OpenID or OAuth (or maybe both look similar?) but it should be either one of them. |
|
Yes, that was OAuth. We currently don't support that. |
|
For the record:
The implementation should be straightforward, but i don't want to have to support this myself. I'd be glad if somebody volunteers to take this over, implement it and maintain it. |
|
As I understand correctly, Google would work with CalDAV + OAuth and vdirsyncer speaks CalDAV but not OAuth. So the only thing that keep vdirsyncer to be used to bidirectionally sync a Google with an OwnCloud calender is the implementation of OAuth? While I cannot contribute this functionality, I'm waiting for this to be implemented in oder to migrate from our Google to our OwnCloud calenders. Last time I was looking here was version 0.1.5. Sorry I can't help but I just wanted to say that there is practical relevance to this issue. Thanks for writing vdirsyncer, this is really good software. |
That's correct.
I assume so. I think the user would have to use Google Developer services to register the application themselves because otherwise somebody else may use my registered app for malicious purposes. @fungs If you just want to copy the calendar data from Google Calendar to ownCloud, i think you can export a |
|
Well, at least OAuth is the main part that's missing from compatibility with Google. You might want to take a look at https://twitter.com/evertp/status/520618656942673920 for problems that could arise. |
|
Follow-up blog post from that guy: http://evertpot.com/google-carddav-issues/ |
|
Hello, I have a suggestion for OAuth token handling: what if vdirsyncer has a default token (similar to gcalcli) but those tokens can be override by the user using OS environments vars. In that way the app could be loaded using python's envdir package or similar. |
|
The idea of a default token seems good, but I'd rather keep it in the config file. envdir seems interesting though. |
|
It seems khal already used to work with Google: pimutils/khal#18 |
|
but only in read-only mode |
|
Is the default token really needed? Looking at https://github.com/insanum/gcalcli/blob/master/gcalcli#L642, you just need to call |
|
Yes, one has to call it with client-id and -secret. I myself don't have any incentive to work on this though. |
|
Somebody mailed me in private and hinted that adding OAuth support to this is now easier since remoteStorage support is now merged into master, which already uses OAuth.
Personally I won't be implementing this. I really don't care about supporting vendor-specific auth flows this complex. |
Google contacts and calendar - [x] Proper documentation - [x] With the refactor, `get_storage_init_args` now misses a lot of arguments for all DAV and Google storage types Fix #8
https://developers.google.com/google-apps/calendar/auth
Apparently we have to register the client at Google, not sure how we would keep the keys secret (if any) in an opensource project.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
The text was updated successfully, but these errors were encountered: