Re: [webfinger] Webfinger extension for Sinatra

"Paul E. Jones" <paulej@packetizer.com> Tue, 15 October 2013 19:17 UTC

Return-Path: <paulej@packetizer.com>
X-Original-To: webfinger@ietfa.amsl.com
Delivered-To: webfinger@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2AE2611E8121 for <webfinger@ietfa.amsl.com>; Tue, 15 Oct 2013 12:17:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.334
X-Spam-Level:
X-Spam-Status: No, score=-2.334 tagged_above=-999 required=5 tests=[AWL=0.264, BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pQRz61HBYquE for <webfinger@ietfa.amsl.com>; Tue, 15 Oct 2013 12:16:58 -0700 (PDT)
Received: from dublin.packetizer.com (dublin.packetizer.com [75.101.130.125]) by ietfa.amsl.com (Postfix) with ESMTP id 7367411E8149 for <webfinger@ietf.org>; Tue, 15 Oct 2013 12:16:56 -0700 (PDT)
Received: from [192.168.1.20] (rrcs-98-101-148-48.midsouth.biz.rr.com [98.101.148.48]) (authenticated bits=0) by dublin.packetizer.com (8.14.5/8.14.5) with ESMTP id r9FJGtFi011496 (version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO) for <webfinger@ietf.org>; Tue, 15 Oct 2013 15:16:55 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=packetizer.com; s=dublin; t=1381864615; bh=CpH+D+binb3CAPtEmk7w3wMB2056JYbwuVODMCcF2js=; h=Message-ID:Date:From:MIME-Version:To:Subject:References: In-Reply-To:Content-Type; b=eIgQEItiaWXCP1tWh5KWg9I86oBoPjVCG3iUId7OwAku57vH4537OjyEb2gTUFKyV mqhT8Y8CL5910RHE+/YaBEYjwIqXoKTdZ6CbPpEk1DYyATCW61s/isUgju3CXDf4lG nxu32cAwhZ1mzx7GndK2UsH50FJEL2FoGFfkmoF4=
Message-ID: <525D94BB.5020206@packetizer.com>
Date: Tue, 15 Oct 2013 15:17:15 -0400
From: "Paul E. Jones" <paulej@packetizer.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.0.1
MIME-Version: 1.0
To: webfinger@ietf.org
References: <CANBOYLVDDc8yx52oA1dXrD6wThp+AzWy3mgXhYMNoQO7Y8ZaDQ@mail.gmail.com>
In-Reply-To: <CANBOYLVDDc8yx52oA1dXrD6wThp+AzWy3mgXhYMNoQO7Y8ZaDQ@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------070005010901000506080500"
Subject: Re: [webfinger] Webfinger extension for Sinatra
X-BeenThere: webfinger@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Discussion of the Webfinger protocol proposal in the Applications Area <webfinger.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/webfinger>, <mailto:webfinger-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/webfinger>
List-Post: <mailto:webfinger@ietf.org>
List-Help: <mailto:webfinger-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/webfinger>, <mailto:webfinger-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 15 Oct 2013 19:17:02 -0000

Cool! This looks like a simple way to map most information.  Note that, 
while properties are defined as "strings", there is nothing illegal 
about putting a a URI inside.  Just to avoid any possibility of error, 
might it be better to name properties like "name_property" or 
something?  If the tag has _property at the end, then put it in properties.

Paul

On 10/14/2013 4:31 PM, Eric Mill wrote:
> Hi all,
>
> I just wrote an extension for Sinatra, a popular Ruby-based 
> microframework, that adds a Webfinger endpoint for a given email 
> address and set of metadata:
> https://github.com/konklone/sinatra-webfinger#a-webfinger-plugin-for-sinatra
>
> The idea here is to lower the barrier to adding a Webfinger endpoint 
> for one's email, for people running Sinatra apps on their domain (like 
> me). I'm using this on my blog here 
> <https://konklone.com/.well-known/webfinger?resource=acct:eric@konklone.com>.
>
> It does a couple things I'd like your reaction to. For one, it 
> auto-decides whether data should be in "properties" or "links" based 
> on whether the value is a URL. For two, it lets you specify common 
> short strings as keys, and does the mapping to a URI for you, when 
> there is one.
>
> So this is the Ruby code:
> webfinger  "eric@konklone.com  <mailto:eric@konklone.com>"  =>  {
>    name:  "Eric Mill",
>    website:  "https://konklone.com"
> }
> And this is what the endpoint will produce:
> {
>    "subject":  "eric@konklone.com  <mailto:eric@konklone.com>",
>    "properties":  {
>      "http://schema.org/name":  "Eric Mill"
>    },
>    "links":  [
>      {
>        "rel":  "http://webfinger.net/rel/profile-page",
>        "href":  "https://konklone.com"
>      }
>    ]
> }
> I'm doing the mapping from field name to URI here: 
> https://github.com/konklone/sinatra-webfinger/blob/master/data/urns.yml based 
> on Will Norris' and Paul Jones' collections of URIs.
>
> Next, I'd like to tackle an extension for Jekyll, and a generator for 
> a straight static file you can serve with a couple of lines in 
> nginx/Apache/S3. I'll probably follow the approach I'm taking here in 
> sinatra-webfinger as closely as possible, so, feedback very welcome!
>
> -- Eric
>
> -- 
> konklone.com <http://konklone.com> | @konklone 
> <https://twitter.com/konklone>
>
>
> _______________________________________________
> webfinger mailing list
> webfinger@ietf.org
> https://www.ietf.org/mailman/listinfo/webfinger