Re: [apps-discuss] Webfinger

Eran Hammer-Lahav <> Tue, 22 November 2011 19:10 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 9EA6621F89BA for <>; Tue, 22 Nov 2011 11:10:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.305
X-Spam-Status: No, score=-1.305 tagged_above=-999 required=5 tests=[AWL=-1.127, BAYES_00=-2.599, EXTRA_MPART_TYPE=1, HTML_MESSAGE=0.001, SARE_GIF_ATTACH=1.42]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id qQnph7PmgO9S for <>; Tue, 22 Nov 2011 11:10:25 -0800 (PST)
Received: from ( []) by (Postfix) with SMTP id BAC1D21F8A4E for <>; Tue, 22 Nov 2011 11:10:21 -0800 (PST)
Received: (qmail 2914 invoked from network); 22 Nov 2011 19:10:21 -0000
Received: from unknown (HELO ( by with SMTP; 22 Nov 2011 19:10:21 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([]) by P3PW5EX1HT004.EX1.SECURESERVER.NET ([]) with mapi; Tue, 22 Nov 2011 12:10:13 -0700
From: Eran Hammer-Lahav <>
To: "Paul E. Jones" <>, 'Goix Laurent Walter' <>, "" <>
Date: Tue, 22 Nov 2011 12:10:06 -0700
Thread-Topic: [apps-discuss] Webfinger
Thread-Index: AQI/v0XgjFwdy9sXrXmTVWBMa/eIuQJBqnysAgBEW78CHWIk+QIu/EtFAjl3mf8CNMDi15RrLE+wgAAFgmA=
Message-ID: <90C41DD21FB7C64BB94121FBBC2E7234526735F10F@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <032101cc9288$e3a06910$aae13b30$> <90C41DD21FB7C64BB94121FBBC2E7234526735EDED@P3PW5EX1MB01.EX1.SECURESERVER.NET> <06b001cca865$1d9ccb80$58d66280$> <90C41DD21FB7C64BB94121FBBC2E7234526735F00B@P3PW5EX1MB01.EX1.SECURESERVER.NET> <086001cca93b$f455cc90$dd0165b0$> <90C41DD21FB7C64BB94121FBBC2E7234526735F0DD@P3PW5EX1MB01.EX1.SECURESERVER.NET> <A09A9E0A4B9C654E8672D1DC003633AE4057006772@GRFMBX704BA020.griffon.local> <08dc01cca948$2e569f30$8b03dd90$>
In-Reply-To: <08dc01cca948$2e569f30$8b03dd90$>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
acceptlanguage: en-US
Content-Type: multipart/related; boundary="_004_90C41DD21FB7C64BB94121FBBC2E7234526735F10FP3PW5EX1MB01E_"; type="multipart/alternative"
MIME-Version: 1.0
Cc: 'Joseph Smarr' <>
Subject: Re: [apps-discuss] Webfinger
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: General discussion of application-layer protocols <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 22 Nov 2011 19:10:31 -0000

Not exactly. Resource gives all the links for that resource. Rel further reduces the selection. If you need 10, don't use rel, just resource.


From: Paul E. Jones []
Sent: Tuesday, November 22, 2011 10:55 AM
To: 'Goix Laurent Walter'; Eran Hammer-Lahav;
Cc: 'Joseph Smarr'
Subject: RE: [apps-discuss] Webfinger


Including the 'resource' parameter could remove the need to further process the templates on the client side and to perform a second query for the "lrdd" XRD/JRD document.  If the server implementation does not support the "resource" parameter, then the client would have to go about it as it would today.

I like the idea of reducing complexity on the client, but if resource is optional, then we do not actually reduce the complexity at all.  It does potentially reduce the time required to fetch the information by one round-trip to the server.  Is that worth it?  Perhaps.  For most data, there are three queries:

1)      host-meta

2)      LRDD

3)      Actual data sought (e.g., an avatar file)

Introducing "resource" means we do to queries:

1)      host-mesa?resource

2)      Actual data sought (e.g., an avatar file)

That sounds good for a single piece of information.  However, if the client needs to perform 10 queries for 10 links found, then that one additional step is little savings.  I'm on the fence over it.


From: Goix Laurent Walter []<mailto:[]>
Sent: Tuesday, November 22, 2011 1:42 PM
To: Eran Hammer-Lahav; Paul E. Jones;<>
Cc: 'Joseph Smarr'
Subject: R: [apps-discuss] Webfinger

I guess the discussion is moving from a pure descriptor (which may be static in most cases) to a sort of API, which could have endless parameters.

>From the current/original webfinger description, the host-meta would mostly be static, which implies no API-like, and no parameter, but the lrdd link can typically be dynamic/API-like (to support the template mechanism). As such it could easily accommodate some more parameters as well (in a similar flavor than opensearch), e.g. to request specific link rels if we want.

What would be the scope of supporting uri parameters when accessing host-meta? Does this intend to save an interaction step?


Da:<> []<mailto:[]> Per conto di Eran Hammer-Lahav
Inviato: martedì 22 novembre 2011 19.33
A: Paul E. Jones;<>
Cc: 'Joseph Smarr'
Oggetto: Re: [apps-discuss] Webfinger

Yes, it is no longer a template and must be converted to href.

As for testing support, just check for Subject. Pretty simple to do.


From: Paul E. Jones []<mailto:[]>
Sent: Tuesday, November 22, 2011 9:27 AM
To: Eran Hammer-Lahav;<>
Cc: 'Joseph Smarr'; 'Gonzalo Salgueiro'; 'Blaine Cook'
Subject: RE: [apps-discuss] Webfinger

A couple more questions on (3):

Why expand templates like this:

The requesting entity could expand the templates.  I can appreciate the reasoning for having "?resource" query the LRDD URL and return back the ordered list of links, but why have the server modify the discovered templates like the one above?  It's no longer a template, really.  Should we change "template" to be "href"?

If a server does not understand "?resource", it's likely to simply ignore it.  But, if a client expects it to be processed, it will cause confusion.  Would it be better to introduce /.well-known/host-meta-resource?  If a 404 is returned, then that is a clear indicator to the client.  Other suggestions?


From: Eran Hammer-Lahav []<mailto:[]>
Sent: Monday, November 21, 2011 9:52 PM
To: Paul E. Jones;<>
Cc: 'Joseph Smarr'; 'Gonzalo Salgueiro'; 'Blaine Cook'
Subject: RE: [apps-discuss] Webfinger

1.       Require the server to offer JRD, leave it to the client to pick one flavor.

2.       Host-meta dumps the decision on the applications. You need to decide if WebFinger is an application or just syntactic sugar on top of host-meta.

3.       Expand every template in host-meta + level one LRDD links (excluding templates in LRDD).


From: Paul E. Jones []<mailto:[]>
Sent: Monday, November 21, 2011 7:49 AM
To: Eran Hammer-Lahav;<>
Cc: 'Joseph Smarr'; 'Gonzalo Salgueiro'; 'Blaine Cook'
Subject: RE: [apps-discuss] Webfinger


Thanks for your feedback.  The editorial, structural, and behavioral items we'll addressed (including adhering to host-meta section 4.2).

Let me ask about specific comments:

1)      You want to mandate use of JSON, which we also indicated in the draft.  However, I would personally prefer to give both XML and JSON equal weight and require both.

2)      You wanted to mandate HTTPS. I'm not opposed, but host-meta does not mandate it.  Shouldn't we Webfinger requirements on what is there?

3)      Regarding "resource" extension: if I query host-meta, there may be any number of templates.  Would we want the server to automatically expand every template it finds?  Or would we only expand the 'lrdd' template?  (And how many levels of recursion might be possible?)


From: Eran Hammer-Lahav []<mailto:[]>
Sent: Saturday, November 19, 2011 10:03 AM
To: Paul E. Jones;<>
Cc: Joseph Smarr; Gonzalo Salgueiro; Blaine Cook
Subject: RE: [apps-discuss] Webfinger

This is a good start. Some feedback and nits:

1.       The protocol flow is incorrect and needs to be adjusted based on the final host-meta specification (RFC 6415). Namely, WebFinger must follow section 4.2 exactly as specified.

2.       WebFinger should focus exclusively on JSON and mandate WebFinger providers to support the JRD format. This does not preclude using XRD (XML) but it will ensure that every compliant WebFinger implementation provides full JSON support which is much more likely to be adopted. This is something we could not do in host-meta due to the late stage it was in, but this is the right time to make the switch (without taking away any existing functionality).

3.       Are there reasons not to mandate HTTPS?

4.       Section 3 should be a sub-section of the introduction and each example needs actual JRD code.

In addition, I would very much like to see WebFinger extend the host-meta endpoint by defining a 'resource' query parameter. Using the example in RFC 6415 section 1.1.1 (example not properly encoded to make it easier to read):

> GET /.well-known/host-meta?resource= HTTP/1.1




The rules for this extension parameter are pretty simple:

1.       JSON is implied. If the server understands '?resource' it MUST return a JRD document.

2.       The subject must be set to the value of the 'resource' parameter.

3.       If the server does not support that resource (wrong domain, etc.) it must return an empty JRD with the right subject.

4.       The client MUST verify the server supports '?resource' by making sure the response is both JRD and has the requested subject (this will ensure full compatibility with any other host-meta endpoint).

I would like to see such endpoint extension required for WebFinger so that clients can make a single call and get the full WebFinger result in JSON. This would significantly improve adoption and usability, and adds very little work to providers.


From:<> []<mailto:[]> On Behalf Of Paul E. Jones
Sent: Monday, October 24, 2011 1:10 PM
Cc: Joseph Smarr; Gonzalo Salgueiro
Subject: [apps-discuss] Webfinger


We just submitted this:

The tools for Webfinger are now defined, but the procedures need to be clearer with respect to what most of us understand as "webfinger".  This is just a first stab at making that happen and we hope to progress this to publish an RFC in the application area.

We welcome any comments you have on the topic, either privately or publicly.


Questo messaggio e i suoi allegati sono indirizzati esclusivamente alle persone indicate. La diffusione, copia o qualsiasi altra azione derivante dalla conoscenza di queste informazioni sono rigorosamente vietate. Qualora abbiate ricevuto questo documento per errore siete cortesemente pregati di darne immediata comunicazione al mittente e di provvedere alla sua distruzione, Grazie.

This e-mail and any attachments is confidential and may contain privileged information intended for the addressee(s) only. Dissemination, copying, printing or use by anybody else is unauthorised. If you are not the intended recipient, please delete this message and any attachments and advise the sender by return e-mail, Thanks.
[cid:image001.gif@01CCA907.4A503F20]Rispetta l'ambiente. Non stampare questa mail se non è necessario.