Re: [art] Auto-configuring Email Clients via WebFinger

"Paul E. Jones" <paulej@packetizer.com> Fri, 19 July 2019 01:00 UTC

Return-Path: <paulej@packetizer.com>
X-Original-To: art@ietfa.amsl.com
Delivered-To: art@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9FE00120168 for <art@ietfa.amsl.com>; Thu, 18 Jul 2019 18:00:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, SPF_PASS=-0.001, UNPARSEABLE_RELAY=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=packetizer.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HUF8J9oHbXyg for <art@ietfa.amsl.com>; Thu, 18 Jul 2019 18:00:42 -0700 (PDT)
Received: from dublin.packetizer.com (dublin.packetizer.com [IPv6:2600:1f18:24d6:2e01:e842:9b2b:72a2:d2c6]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C1051120165 for <art@ietf.org>; Thu, 18 Jul 2019 18:00:42 -0700 (PDT)
Received: from authuser (localhost [127.0.0.1])
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=packetizer.com; s=dublin; t=1563498038; bh=4fZRXyHJEhueig93YFOn+TCVTIZ+m/Ghf2M5N5ypqQ8=; h=From:To:Subject:Date:In-Reply-To:References:Reply-To; b=Z96aS74uVs9z5m5iF4uZt1Cycck5lH0J7bYhBoNiTYgDhC9infoYFyN+CcYayqZzS 3O6i2ZHV5+Ob5QbveZvzjMZbMWxLRasGyU9xk73yjPz9621gqEbh3syq6OqbEzXm+4 R2rNazwNE/3EuIKPg5w+WR7Gk6KHzSaU478mKgtQ=
From: "Paul E. Jones" <paulej@packetizer.com>
To: Marten Gajda <marten@dmfs.org>, "art@ietf.org" <art@ietf.org>
Date: Fri, 19 Jul 2019 01:00:34 +0000
Message-Id: <embe3ded6c-3717-4e46-9f6a-943bd2b55dd2@sydney>
In-Reply-To: <cdc61ea9-0607-e5e9-8af8-6ac488f5e56b@dmfs.org>
References: <eme8317959-26f9-4a9d-b2be-d2f8cb0961f6@sydney> <1b042605-4b3a-40b7-a792-2390c924282f@www.fastmail.com> <cdc61ea9-0607-e5e9-8af8-6ac488f5e56b@dmfs.org>
Reply-To: "Paul E. Jones" <paulej@packetizer.com>
User-Agent: eM_Client/7.2.35595.0
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="------=_MB84047425-E7A4-4954-BAC2-BF870EB2EC88"
Archived-At: <https://mailarchive.ietf.org/arch/msg/art/owrNL5BpPccHAtQGA7ycfu7OC2Y>
Subject: Re: [art] Auto-configuring Email Clients via WebFinger
X-BeenThere: art@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Applications and Real-Time Area Discussion <art.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/art>, <mailto:art-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/art/>
List-Post: <mailto:art@ietf.org>
List-Help: <mailto:art-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/art>, <mailto:art-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 19 Jul 2019 01:00:46 -0000

Marten,

It doesn't even require much complexity before we need user-specific 
data. I hate mentioning my wife's use-case again, but it is valid and I 
suspect her small company isn't the only one.  Some users use services 
on one SMTP and IMAP server in one country, and other users use those 
services in another country.  The data is stored in those respective 
countries, too, and never moved between countries, with the exception 
that the mail server for all incoming mail will forward to the server in 
the appropriate geography for the user.

If you're suggesting that the initial query for the "services.json" file 
may prompt for credentials and allow to server different JSON documents 
based on the user requesting, good. That would work.

Paul

------ Original Message ------
From: "Marten Gajda" <marten@dmfs.org>
To: "art@ietf.org" <art@ietf.org>
Sent: 7/18/2019 6:16:33 PM
Subject: Re: [art] Auto-configuring Email Clients via WebFinger

>As a client developer, I want to provide a smooth UX to our users. This 
>means I need much more information than just a server URL.
>
>For instance, I also want to
>
>* present the name or logo of the provider which hosts the user's 
>account, ideally before they enter their credentials,
>* provide links to support channels, reset password pages, account 
>management,
>* know the OAuth endpoints, if available,
>* know the OpenID Connect endpoints, so I can register my OAuth client 
>dynamically,
>* know the OAuth scope tokens I need in order to access a service,
>* know which endpoints serve the same data via different protocols,
>* know *all* the available services (not just the ones I know about), 
>so I can suggest other clients which may be useful.
>
>We had a few more discussion items at 
>https://github.com/CalConnect/AUTODISCOVERY/issues
>
>One of the initial ideas was to have the accounts managed by the 
>operating system and data access/synchronization handled by individual 
>applications. In this scenario, the operating system would provide the 
>UI to configure an account and perform the service discovery. 
>Afterwards it would delegate the service configuration along with the 
>account identifier to the applications which can handle the services 
>found. If the provider offers services for which no application is 
>present on the system, it could suggest suitable applications from the 
>app store or software repository. The operating system could rerun the 
>service discovery from time to time and notify the user about changes 
>(e.g. "Your proviare the applications you can use: ...").
>
>I don't see this as a use case for WebFinger though. The services 
>offered by a provider is not user data (although they may vary for each 
>users), it's primarily provider data. As such, I'd prefer to provide a 
>single JSON document at a well-known URL under the provider's domain, 
>e.g. at "/.well-known/services". This would make it trivial to host a 
>static document, which would do the trick in most setups. More complex 
>providers could still return per-user configurations (after 
>authentication).
>
>The attached example shows how a document might look like as per the 
>current status.
>
>Cheers,
>
>Marten
>
>
>
>
>
>Am 16.07.19 um 07:22 schrieb Bron Gondwana:
>>On Tue, Jul 16, 2019, at 05:31, Paul E. Jones wrote:
>>>ART folks,
>>>
>>>Several years ago when I was working on WebFinger, one of the use 
>>>cases I presented was using WebFinger to facilitate auto-configuring 
>>>email clients.  It was and still is a problem I deal with today.
>>>
>>>For my own family, I have to manually configure several different 
>>>clients on several different platforms for each member of the family. 
>>>  It's time consuming and really needs to be made simpler.
>>>
>>>My wife also has to deal with this issue where she works, because her 
>>>company, while just 100 or so employees, has offices in two different 
>>>countries and the mail server settings an employee uses depends on 
>>>his or her geographic location.  To use standard IETF protocols, it 
>>>means a lot of manual provisioning.
>>>
>>>I see the same sort of challenges with service providers. If one 
>>>wants to have his or her own domain, but isn't technically savvy, 
>>>they're in for a lot of "fun" trying to figure out the various 
>>>settings. Seriously, no normal person should have to understand what 
>>>SMTP or IMAP means, and definitely what port numbers or security 
>>>settings to fill in.
>>>
>>>While there has been a generic DNS-based method for email provision 
>>>for a while, it doesn't work for me. It doesn't work for my wife's 
>>>company, either. It also doesn't define everything one might need to 
>>>define (e.g., required security settings or policies).
>>>
>>>So we put together a very simple example to show how this might be 
>>>done with WebFinger.  See the draft here:
>>>https://tools.ietf.org/html/draft-jones-webfinger-email-autoconfig-00
>>
>>There's also been discussion about doing the same thing for caldav and 
>>carddav in CalConnect, which was led by Marten. It would be good to 
>>combine this work!
>>
>>Cheers,
>>
>>Bron.
>>
>>--
>>   Bron Gondwana
>>   brong@fastmail.fm
>>
>>
>--
>Marten Gajda
>CEO
>
>dmfs GmbH
>Schandauer Straße 34
>01309 Dresden
>GERMANY
>
>phone: +49 177 4427167
>email: marten@dmfs.org
>
>Managing Director: Marten Gajda
>Registered address: Dresden
>Registered No.: AG Dresden HRB 34881
>VAT Reg. No.: DE303248743