Internet DRAFT - draft-jones-webfinger-email-autoconfig
draft-jones-webfinger-email-autoconfig
Network Working Group P. Jones
Internet-Draft G. Salgueiro
Intended status: Standards Track Cisco
Expires: January 9, 2020 July 8, 2019
WebFinger Email Automatic Configuration
draft-jones-webfinger-email-autoconfig-00
Abstract
This document describes procedures for automatically configuring an
email client by using WebFinger to convey mail server configuration
and security-related information.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on January 9, 2020.
Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Jones & Salgueiro Expires January 9, 2020 [Page 1]
Internet-Draft WebFinger Email Autoconfigiguration July 2019
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Conventions Used in This Document . . . . . . . . . . . . . . 2
3. Example User Scenario . . . . . . . . . . . . . . . . . . . . 3
4. Email Auto-Configuration Procedures . . . . . . . . . . . . . 5
4.1. Initiating a WebFinger Query . . . . . . . . . . . . . . 5
4.2. Processing the JSON Resource Descriptor . . . . . . . . . 5
4.3. Requesting the Email Configuration Document . . . . . . . 5
5. Email Configuration Document Syntax . . . . . . . . . . . . . 6
6. Security Considerations . . . . . . . . . . . . . . . . . . . 6
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6
8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 6
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 6
9.1. Normative References . . . . . . . . . . . . . . . . . . 6
9.2. Informative References . . . . . . . . . . . . . . . . . 6
9.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7
1. Introduction
Configuring email clients manually can be a time-consuming and
mundane task that can actually be fairly arduous as the number of
users or clients increases. While people with technical
understanding of the various protocols and settings employed can
configure a single email client fairly easily, the task can prove
challenging and frustrating for non-technical users.
This document defines procedures utilizing WebFinger [RFC7033] that
make it trivial for end-users to configure email clients with little
or no assistance and with minimal technical skill. All that is
required for the user to do is enter his or her account identifier,
select an email account, and provide credentials.
Following these procedures, the complexity of configuring an email
client is shifted away from the end-user and pushed onto the software
tools that implement these procedures and the email administrators
who would have to configure the settings for each user server-side
and publish the required configuration data. However, the
configuration data can be generated with automated tools, meaning
there would be minimal effort for the email administrators.
2. Conventions Used in This Document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP
Jones & Salgueiro Expires January 9, 2020 [Page 2]
Internet-Draft WebFinger Email Autoconfigiguration July 2019
14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
3. Example User Scenario
To illustrate how the procedures work, assume Alice just got a new
computer and installed her favorite email client. She is using
services from Example Mail Corporation and she was told her account
identifier is "alice@mail.example" and her password is "abc123". She
actually has two different accounts with Example Mail Corporation,
one for personal use and one for her business. The accounts are
aptly named "Personal" and "Business".
When Alice starts her email client and adds a new email account, the
client will ask her for her account identifier. She will then enter
"alice@mail.example", at which point the client will initiate a
WebFinger query to the host "mail.example". That HTTP [RFC7230]
query will look something like this:
GET /.well-known/webfinger?resource=acct%3Aalice%40mail.example \
HTTP/1.1
Host: mail.example
(The backslash character '\' is there only to indicate the following
line is part of the same line.)
As per the WebFinger specification, a JSON Resource Descriptor (JRD)
will be returned with a number of different entires. For brevity,
the following reply shown excludes most of the content that is not
applicable to this example. The reply might look like this:
Jones & Salgueiro Expires January 9, 2020 [Page 3]
Internet-Draft WebFinger Email Autoconfigiguration July 2019
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/jrd+json
{
"subject" : "acct:alice@mail.example",
"links" :
[
{
"rel" : "email-autoconfig",
"href" : "https://mail-config.mail.example/alice.personal.json"
"titles" :
{
"en-us" : "Personal"
}
},
{
"rel" : "email-autoconfig",
"href" : "https://mail-config.mail.example/alice.business.json"
"titles" :
{
"en-us" : "Business"
},
}
]
}
Noting there are two "email-autoconfig" entries in the response, one
named "Personal" and one named "Business", Alice's email client will
prompt her to select one of the email accounts to configure to
provide a password. She selects the one named "Personal", at which
point the email client will issue a subsequent HTTP query to the URI
associated with that account:
GET /alice.personal.json HTTP/1.1
Host: mail-config.mail.example
The server "mail-config.mail.example" might require her to
authenticate using the password for her email account, which is why
she was prompted for it when selecting the account. Once the email
client satisfies whatever authentication challenge it is presented,
the server will then respond with a JSON document that contains all
of the configuration information necessary for the email client to
self-provision her "Personal" account. That reply might look
something like this:
Jones & Salgueiro Expires January 9, 2020 [Page 4]
Internet-Draft WebFinger Email Autoconfigiguration July 2019
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/jrd+json
{
"address" : "alice.i.wonder@mail.example",
"smtp" :
{
"login" : "alice.i.wonder",
"host" : "outbound.mail.example",
"port" : 587,
"login-required" : true,
"transport" : "starttls"
},
"imap" :
{
"login" : "alice.i.wonder",
"host" : "imap.mail.example",
"port" : 143,
"transport" : "starttls"
}
}
The email client would utilize this information to configure itself
to access the mail server using SMTP and IMAP. The email client
would reasonably assume that the account password provided is the
same password used with both of those protocols. While that might
not be correct, it certainly simplifies the user's life if it is the
same. However, authentication may be via a digital certificate, for
example, conveyed in this response document.
4. Email Auto-Configuration Procedures
TBD
4.1. Initiating a WebFinger Query
TBD
4.2. Processing the JSON Resource Descriptor
TBD
4.3. Requesting the Email Configuration Document
TBD
Jones & Salgueiro Expires January 9, 2020 [Page 5]
Internet-Draft WebFinger Email Autoconfigiguration July 2019
5. Email Configuration Document Syntax
TBD
6. Security Considerations
TBD
7. IANA Considerations
TBD
We will need to register "email-autoconfig" in the Link Relations
registry: https://www.iana.org/assignments/link-relations/link-
relations.xhtml [1]
8. Acknowledgments
TBD
9. References
9.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC7033] Jones, P., Salgueiro, G., Jones, M., and J. Smarr,
"WebFinger", RFC 7033, DOI 10.17487/RFC7033, September
2013, <https://www.rfc-editor.org/info/rfc7033>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
9.2. Informative References
[RFC7230] Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer
Protocol (HTTP/1.1): Message Syntax and Routing",
RFC 7230, DOI 10.17487/RFC7230, June 2014,
<https://www.rfc-editor.org/info/rfc7230>.
Jones & Salgueiro Expires January 9, 2020 [Page 6]
Internet-Draft WebFinger Email Autoconfigiguration July 2019
9.3. URIs
[1] https://www.iana.org/assignments/link-relations/link-
relations.xhtml
Authors' Addresses
Paul E. Jones
Cisco
7025 Kit Creek Rd.
Research Triangle Park, North Carolina 27709
USA
Phone: +1 919 476 2048
Email: paulej@packetizer.com
Gonzalo Salgueiro
Cisco
7025 Kit Creek Rd.
Research Triangle Park, North Carolina 27709
USA
Phone: +1 919 392 3266
Email: gsalguei@cisco.com
Jones & Salgueiro Expires January 9, 2020 [Page 7]