Subject: [Jmap] Auth schemes for JMAP Contacts/Calendars

From: Joris Baum <[email-masked]>
Date: Thu, 22 Oct 2020 17:02:36 +0200

Hi all,

I would like to play around with several service providers that support
JMAP Contacts/Calendars to push forward the JMAP standard by extending a
JMAP library. While I was able to do some testing with Cyrus and Basic
Auth, I was unable to use Basic Auth for Fastmail, since the app
password seems to be specific for mail.

Is there a preferred way to authenticate without a UI towards Fastmail?
Something like an app password not tied to JMAP mail but also JMAP
Contacts/Calendars?

Regards,

Joris Baum

-- 
Joris Baum
Tel: +49 721 170293 16
Fax: +49 721 170293 179

http://www.audriga.com | http://www.twitter.com/audriga

--------------------------------------------------------------------------
audriga GmbH | Durlacher Allee 47 | 76131 Karlsruhe
Sitz der Gesellschaft: Karlsruhe - Amtsgericht Mannheim - HRB 713034
Geschäftsführer: Dr. Frank Dengler, Dr.-Ing. Hans-Jörg Happel
--------------------------------------------------------------------------

---

From: Ken Murchison <[email-masked]>
Date: Thu, 22 Oct 2020 19:42:04 -0400

Hi Joris,

Fastmail currently isn't allowing public JMAP access to calendars and 
contacts because the standards have yet to be finalized.  Once they are 
finalized, and Cyrus is compliant, you can expect to have direct access 
to your resources via JMAP.

-- 
Kenneth Murchison
Senior Software Developer
Fastmail US LLC

---

From: Joris Baum <[email-masked]>
Date: Fri, 23 Oct 2020 08:33:15 +0200

Hi Ken,

thanks a lot for your fast reply and for clarifying. Do you suggest to
play around with Cyrus in the meantime until Fastmail allows access to
contacts/calendars? Or is there another software you can recommend for
exploring the JMAP contacts/calendars protocol?

Regards,

Joris

On 23.10.20 01:42, Ken Murchison wrote:
> contacts because the standards have yet to be finalized.  Once they
> are finalized, and Cyrus is compliant, you can expect to have direct
> access to your resources via JMAP.
>
>
-- 
Joris Baum
Tel: +49 721 170293 16
Fax: +49 721 170293 179

---

From: "Robert Stepanek" <[email-masked]>
Date: Fri, 23 Oct 2020 08:53:05 +0200

Hi Joris,

For calendars, the Cyrus master branch implements what is also currently in use at Fastmail. It implements the CalendarEvent and Calendar JMAP object types. The JSEvent implementation is close to the latest spec for jscalendar.

There is also a work-in-progress branch at https://github.com/cyrusimap/cyrus-imapd/tree/jmap-calendars-01 which aims to implement the latest JMAP calendars spec draft https://jmap.io/spec-calendars.html. I can't say when we will merge that on master, but if you want to play with the branch don't hesitate to contact me for any questions!

For contacts, the Cyrus implementation substantially lags the latest JMAP Contacts and JSContact spec drafts. That's because both of these drafts haven't seen much progress in the past months, and I don't expect that to change until the calendar specs have settled. Mario Loffredo, the co-author of JSContact, maintains tools to convert between VCARD and the JSContact draft object model: https://github.com/consiglionazionaledellericerche/jscontact-tools

Cheers,
Robert

On Fri, Oct 23, 2020, at 8:33 AM, Joris Baum wrote:
> _______________________________________________
> Jmap mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/jmap
>

---

From: Joris Baum <[email-masked]>
Date: Fri, 23 Oct 2020 09:13:10 +0200

Hi Robert,

that already gives me quite a good overview! Thanks.

However, I am still a bit confused what you mean by "spec" and "draft".
The way I understand it the "specs" are what lives on
https://jmap.io/spec.html and is what is supposed to be implemented by
client developers (like us), while the IETF "drafts" are still heavily
WIP and will gradually merge into https://jmap.io/spec.html in the
coming months. Now, you mentioned "JSContact spec drafts". However,
there is currently no mention of JSContact at jmap.io . Could you
clarify a bit?

Regards,

Joris

On 23.10.20 08:53, Robert Stepanek wrote:
> Hi Joris,
>
> For calendars, the Cyrus master branch implements what is also
> currently in use at Fastmail. It implements the CalendarEvent and
> Calendar JMAP object types. The JSEvent implementation is close to the
> latest spec for jscalendar.
>
> There is also a work-in-progress branch at
> https://github.com/cyrusimap/cyrus-imapd/tree/jmap-calendars-01 which
> aims to implement the latest JMAP calendars spec draft
> https://jmap.io/spec-calendars.html. I can't say when we will merge
> that on master, but if you want to play with the branch don't hesitate
> to contact me for any questions!
>
> For contacts, the Cyrus implementation substantially lags the latest
> JMAP Contacts and JSContact spec drafts. That's because both of these
> drafts haven't seen much progress in the past months, and I don't
> expect that to change until the calendar specs have settled. Mario
> Loffredo, the co-author of JSContact, maintains tools to convert
> between VCARD and the JSContact draft object model:
> https://github.com/consiglionazionaledellericerche/jscontact-tools
>
> Cheers,
> Robert
>
>> [email-masked] <mailto:[email-masked]>

-- 
Joris Baum
Tel: +49 721 170293 16
Fax: +49 721 170293 179

---

From: "Robert Stepanek" <[email-masked]>
Date: Fri, 23 Oct 2020 09:37:33 +0200

Hi,

The Calendars and Contacts specifications at https://jmap.io/spec.html are drafts.

For calendars, the specification at jmap.io is identical to the latest IETF draft https://datatracker.ietf.org/doc/html/draft-ietf-jmap-calendars. The JSEvent object type is defined at https://datatracker.ietf.org/doc/html/draft-ietf-calext-jscalendar.

For contacts, the specification at jmap.io is what will be the starting point for an IETF draft in the near future. The JSContact object type is defined at https://datatracker.ietf.org/doc/draft-ietf-jmap-jscontact/

The more implementations exist for these draft specifications, the better. It's the best way to identify improvements for the drafts and helps reaching consensus at IETF to publish the RFC.

Cheers,
Robert

> However, I am still a bit confused what you mean by "spec" and "draft". The way I understand it the "specs" are what lives on https://jmap.io/spec.html and is what is supposed to be implemented by client developers (like us), while the IETF "drafts" are still heavily WIP and will gradually merge into https://jmap.io/spec.html in the coming months. Now, you mentioned "JSContact spec drafts". However, there is currently no mention of JSContact at jmap.io . Could you clarify a bit?

Jmap mailing list
Joris Baum
Tel: +49 721 170293 16
Fax: +49 721 170293 179

---

From: Joris Baum <[email-masked]>
Date: Fri, 23 Oct 2020 09:50:03 +0200

Hi,

thanks for clarifying! That was the piece of information I was missing :) .

Regards,

Joris

On 23.10.20 09:37, Robert Stepanek wrote:
> For calendars, the specification at jmap.io is identical to the latest
> IETF draft
> https://datatracker.ietf.org/doc/html/draft-ietf-jmap-calendars. The
> JSEvent object type is defined at
> https://datatracker.ietf.org/doc/html/draft-ietf-calext-jscalendar.
>
> For contacts, the specification at jmap.io is what will be the
> starting point for an IETF draft in the near future. The JSContact
> object type is defined at
> https://datatracker.ietf.org/doc/draft-ietf-jmap-jscontact/
>
> The more implementations exist for these draft specifications, the
> better. It's the best way to identify improvements for the drafts and
> helps reaching consensus at IETF to publish the RFC.
>
> Cheers,
> Robert
>
>> However, I am still a bit confused what you mean by "spec" and
>> "draft". The way I understand it the "specs" are what lives on
>> https://jmap.io/spec.html and is what is supposed to be implemented
>> by client developers (like us), while the IETF "drafts" are still
>> heavily WIP and will gradually merge into https://jmap.io/spec.html
>> in the coming months. Now, you mentioned "JSContact spec drafts".
>> However, there is currently no mention of JSContact at jmap.io .
>> Could you clarify a bit?
>>
>> Regards,
>>
>> Joris
>>
>>
>>> Calendar JMAP object types. The JSEvent implementation is close to
>>> the latest spec for jscalendar.
>>>
>>> https://github.com/cyrusimap/cyrus-imapd/tree/jmap-calendars-01
>>> which aims to implement the latest JMAP calendars spec draft
>>> that on master, but if you want to play with the branch don't
>>> hesitate to contact me for any questions!
>>>
>>> JMAP Contacts and JSContact spec drafts. That's because both of
>>> these drafts haven't seen much progress in the past months, and I
>>> don't expect that to change until the calendar specs have settled.
>>> Mario Loffredo, the co-author of JSContact, maintains tools to
>>> convert between VCARD and the JSContact draft object model:

-- 
Joris Baum
Tel: +49 721 170293 16
Fax: +49 721 170293 179