<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.2.3" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>
<channel>
	<title>Comments on: Atompub &#038; OpenID</title>
	<link>http://blog.ianbicking.org/2007/08/06/atompub-openid/</link>
	<description></description>
	<pubDate>Mon, 01 Dec 2008 20:18:57 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2.3</generator>

	<item>
		<title>By: John Panzer</title>
		<link>http://blog.ianbicking.org/2007/08/06/atompub-openid/#comment-94</link>
		<dc:creator>John Panzer</dc:creator>
		<pubDate>Wed, 08 Aug 2007 17:42:42 +0000</pubDate>
		<guid>http://blog.ianbicking.org/2007/08/06/atompub-openid/#comment-94</guid>
		<description>"Update: Another question/thought: is it okay to send multiple WWW-Authenticate headers, to give the client options for how it wants to do authentication? It seems vaguely okay, according to RFC 2616 14.47."

It's allowed, and Google's GData does it to offer two options for authentication (ClientLogin and AuthSub):

WWW-Authenticate: GoogleLogin realm="https://www.google.com/accounts/ClientLogin", service="blogger"
WWW-Authenticate: AuthSub realm="https://www.google.com/accounts/AuthSubRequest", service="blogger"</description>
		<content:encoded><![CDATA[<p>&#8220;Update: Another question/thought: is it okay to send multiple WWW-Authenticate headers, to give the client options for how it wants to do authentication? It seems vaguely okay, according to RFC 2616 14.47.&#8221;</p>

<p>It&#8217;s allowed, and Google&#8217;s GData does it to offer two options for authentication (ClientLogin and AuthSub):</p>

<p>WWW-Authenticate: GoogleLogin realm=&#8221;https://www.google.com/accounts/ClientLogin&#8221;, service=&#8221;blogger&#8221;
WWW-Authenticate: AuthSub realm=&#8221;https://www.google.com/accounts/AuthSubRequest&#8221;, service=&#8221;blogger&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sylvain Hellegouarch</title>
		<link>http://blog.ianbicking.org/2007/08/06/atompub-openid/#comment-86</link>
		<dc:creator>Sylvain Hellegouarch</dc:creator>
		<pubDate>Tue, 07 Aug 2007 14:46:16 +0000</pubDate>
		<guid>http://blog.ianbicking.org/2007/08/06/atompub-openid/#comment-86</guid>
		<description>Most AtomPub clients out there are not automated and require human feedback, they aren't different from a browser therefore. For automated authentication not requiring human intervention, you need authentication services like those offering OpenID to come up with such solution. I feel like you put the burden on clients which is not where it should be, the problem comes from auth scheme which have never been really thought out of the browser context.</description>
		<content:encoded><![CDATA[<p>Most AtomPub clients out there are not automated and require human feedback, they aren&#8217;t different from a browser therefore. For automated authentication not requiring human intervention, you need authentication services like those offering OpenID to come up with such solution. I feel like you put the burden on clients which is not where it should be, the problem comes from auth scheme which have never been really thought out of the browser context.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John Panzer</title>
		<link>http://blog.ianbicking.org/2007/08/06/atompub-openid/#comment-81</link>
		<dc:creator>John Panzer</dc:creator>
		<pubDate>Tue, 07 Aug 2007 06:47:22 +0000</pubDate>
		<guid>http://blog.ianbicking.org/2007/08/06/atompub-openid/#comment-81</guid>
		<description>See http://journals.aol.com/panzerjohn/abstractioneer/entries/2007/05/04/aol-openauth-and-atom-publishing-protocol/1440 and, possibly more relevantly, the ongoing OAuth effort:  http://groups.google.com/group/oauth</description>
		<content:encoded><![CDATA[<p>See <a href="http://journals.aol.com/panzerjohn/abstractioneer/entries/2007/05/04/aol-openauth-and-atom-publishing-protocol/1440" rel="nofollow">http://journals.aol.com/panzerjohn/abstractioneer/entries/2007/05/04/aol-openauth-and-atom-publishing-protocol/1440</a> and, possibly more relevantly, the ongoing OAuth effort:  <a href="http://groups.google.com/group/oauth" rel="nofollow">http://groups.google.com/group/oauth</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ian Bicking</title>
		<link>http://blog.ianbicking.org/2007/08/06/atompub-openid/#comment-79</link>
		<dc:creator>Ian Bicking</dc:creator>
		<pubDate>Mon, 06 Aug 2007 22:59:51 +0000</pubDate>
		<guid>http://blog.ianbicking.org/2007/08/06/atompub-openid/#comment-79</guid>
		<description>Atompub has all the same problems any web service has when it's being used by a browser.  It's nothing that special about Atompub, except that it could be a service that browsers actually use directly.  Notably few people use HTTP authentication with websites and normal browsers.  OpenID doesn't use HTTP authentication either.

If I redirect an Atompub client to a login page, the client won't know what to do with that.  A human would, because humans can read instructions and understand the login pattern.  We need a way for Atompub clients to understand that same pattern.</description>
		<content:encoded><![CDATA[<p>Atompub has all the same problems any web service has when it&#8217;s being used by a browser.  It&#8217;s nothing that special about Atompub, except that it could be a service that browsers actually use directly.  Notably few people use HTTP authentication with websites and normal browsers.  OpenID doesn&#8217;t use HTTP authentication either.</p>

<p>If I redirect an Atompub client to a login page, the client won&#8217;t know what to do with that.  A human would, because humans can read instructions and understand the login pattern.  We need a way for Atompub clients to understand that same pattern.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sylvain Hellegouarch</title>
		<link>http://blog.ianbicking.org/2007/08/06/atompub-openid/#comment-78</link>
		<dc:creator>Sylvain Hellegouarch</dc:creator>
		<pubDate>Mon, 06 Aug 2007 22:52:54 +0000</pubDate>
		<guid>http://blog.ianbicking.org/2007/08/06/atompub-openid/#comment-78</guid>
		<description>For large dataset it's quite likely that the server would use the collection listing as per the AtomPub spec. That could help the parsing. Mind you if only all the browsers were supporting E4X the parsing would look much nicer to everyone.

&#62; But services like Atompub don’t work nicely with the kinds of authentication methods that normal websites use. 

I don't quite understand that statement. AtomPub abides to the HTTP rules and I don't understand why an AtomPub service would therefore be any different from any other websites out there.</description>
		<content:encoded><![CDATA[<p>For large dataset it&#8217;s quite likely that the server would use the collection listing as per the AtomPub spec. That could help the parsing. Mind you if only all the browsers were supporting E4X the parsing would look much nicer to everyone.</p>

<p>&gt; But services like Atompub don’t work nicely with the kinds of authentication methods that normal websites use. </p>

<p>I don&#8217;t quite understand that statement. AtomPub abides to the HTTP rules and I don&#8217;t understand why an AtomPub service would therefore be any different from any other websites out there.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ian Bicking</title>
		<link>http://blog.ianbicking.org/2007/08/06/atompub-openid/#comment-77</link>
		<dc:creator>Ian Bicking</dc:creator>
		<pubDate>Mon, 06 Aug 2007 21:15:40 +0000</pubDate>
		<guid>http://blog.ianbicking.org/2007/08/06/atompub-openid/#comment-77</guid>
		<description>Right now I'm looking at smallish data sets, where the server does most of the filtering.  That might be a problem later, I'm not sure.  I could imagine just using &lt;code&gt;"{ns}tag"&lt;/code&gt; for namespaces, but I suppose that would bulk up the file some.  Still, yes, it means that you have to in effect parse the document to resolve the namespaces.  Or use conventions, and then translate if their conventions for prefixes aren't the same as your own.

Still, their simpler translation would make it easier to create a DOM-like facade on top.  In fact, it seems quite easy to create something DOM-like in that case.  That would be appealing.

I think eventually I'll find [JSONP](http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/) will be necessary, at which point a JSON format would be nicer (though packing an XML response in a string would also be possible).  Anyway, maybe it'll come up then.

Either way, the issue I'm struggling with isn't an issue XML or JSON, but authentication.</description>
		<content:encoded><![CDATA[<p>Right now I&#8217;m looking at smallish data sets, where the server does most of the filtering.  That might be a problem later, I&#8217;m not sure.  I could imagine just using <code>"{ns}tag"</code> for namespaces, but I suppose that would bulk up the file some.  Still, yes, it means that you have to in effect parse the document to resolve the namespaces.  Or use conventions, and then translate if their conventions for prefixes aren&#8217;t the same as your own.</p>

<p>Still, their simpler translation would make it easier to create a DOM-like facade on top.  In fact, it seems quite easy to create something DOM-like in that case.  That would be appealing.</p>

<p>I think eventually I&#8217;ll find <a href="http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/">JSONP</a> will be necessary, at which point a JSON format would be nicer (though packing an XML response in a string would also be possible).  Anyway, maybe it&#8217;ll come up then.</p>

<p>Either way, the issue I&#8217;m struggling with isn&#8217;t an issue XML or JSON, but authentication.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mikeal</title>
		<link>http://blog.ianbicking.org/2007/08/06/atompub-openid/#comment-76</link>
		<dc:creator>mikeal</dc:creator>
		<pubDate>Mon, 06 Aug 2007 20:41:48 +0000</pubDate>
		<guid>http://blog.ianbicking.org/2007/08/06/atompub-openid/#comment-76</guid>
		<description>The issue with using vanilla atom and javascript is that javascript is terrible at parsing large xml datasets.

For this reason gdata has implemented a json datatype for use in atom, http://code.google.com/apis/gdata/json.html

I have to say I'm not a fan of their formatting. The way they hack in namespaces on javascript still requires some annoying parsing.

At OSAF we went a different route, our's is specific to representing EIM in JSON but you'll see the difference.

http://chandlerproject.org/Projects/EimJsonSpec

-Mikeal</description>
		<content:encoded><![CDATA[<p>The issue with using vanilla atom and javascript is that javascript is terrible at parsing large xml datasets.</p>

<p>For this reason gdata has implemented a json datatype for use in atom, <a href="http://code.google.com/apis/gdata/json.html" rel="nofollow">http://code.google.com/apis/gdata/json.html</a></p>

<p>I have to say I&#8217;m not a fan of their formatting. The way they hack in namespaces on javascript still requires some annoying parsing.</p>

<p>At OSAF we went a different route, our&#8217;s is specific to representing EIM in JSON but you&#8217;ll see the difference.</p>

<p><a href="http://chandlerproject.org/Projects/EimJsonSpec" rel="nofollow">http://chandlerproject.org/Projects/EimJsonSpec</a></p>

<p>-Mikeal</p>
]]></content:encoded>
	</item>
</channel>
</rss>
