Peter,<br><br>Thanks for your input...see my replies inline. <br><br>david<br><br>On Mon, Dec 29, 2008 at 4:36 PM, Peter Williams <span dir="ltr"><<a href="mailto:pwilliams@rapattoni.com">pwilliams@rapattoni.com</a>></span> wrote:<br>
<div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div link="blue" vlink="purple" lang="EN-US">
<div>
<p><span style="font-size: 11pt; color: rgb(31, 73, 125);">The main problem I have is …you are changing the character
of XRDS (and XRI 2.0 resolution).</span></p>
<p><span style="font-size: 11pt; color: rgb(31, 73, 125);"></span></p></div></div></blockquote><div>Yes, but I'd be open to accomplishing these ideas without doing so.<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div link="blue" vlink="purple" lang="EN-US"><div><p><span style="font-size: 11pt; color: rgb(31, 73, 125);"> </span></p>
<p><span style="font-size: 11pt; color: rgb(31, 73, 125);"> In 1, you are turning metadata discovery into a authorization/control
framework. Won't be long before you will want a "#include QXRI"
line in the XRDS, that imports XRDs from a superior policy authority, and
require the XRI client resolver to now to "augment" the XRDs with
those from the control authority. If OpenID needs an policy-based authorization
framework, let's consider that in its own right (and there is LOTS AND
LOTS of previous work to draw on). Let's not break the (nicely working) metadata
model, tho.</span></p>
<p><span style="font-size: 11pt; color: rgb(31, 73, 125);"> </span></p></div></div></blockquote><div>Well, it already is an authorization/control framework. The value of the OP endpoint in your XRDS document is what controls what your OP is. Proposal #1 merely extends this to say that you need 2 OP's instead of one, and possibly only for certain sites.<br>
</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div link="blue" vlink="purple" lang="EN-US"><div><p><span style="font-size: 11pt; color: rgb(31, 73, 125);"></span></p>
<p><span style="font-size: 11pt; color: rgb(31, 73, 125);">In 2, why doesn't XRI already do exactly what you want?
Surely, the intelligence you want is in the query syntax, and that is precisely
what XRI resolution gives you? The notion that one discovery agent would proxy
to n other discovery agents based on criteria from the resolution request seems
important (and, again, what other sso discovery protocols already do).</span></p>
<p><span style="font-size: 11pt; color: rgb(31, 73, 125);"></span></p></div></div></blockquote><div>Most likely I'm just too ignorant of XRI to actually know how it works in full. Can you provide an example of how I could do #2 with existing mechanism? <br>
<br>In my #2 "spec" (it's not nearly fleshed out enough to be called such a thing) I have three methods to do OP Delegation. "Service" delegation already is possible with current XRI mechansims, I agree (I note that scenario just to clarify how I think OpenID Discovery should work with regard to OP's). But it is less apparent to me how to do method's two and three of my "spec" (i.e., pick an OP based on the RP's domain, or based upon some feature of the OpenID transaction).<br>
</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div link="blue" vlink="purple" lang="EN-US"><div><p><span style="font-size: 11pt; color: rgb(31, 73, 125);"> </span></p>
<p><span style="font-size: 11pt; color: rgb(31, 73, 125);">In 3, what is wrong with the XRI extension model? It seems to do
exactly what you want.</span></p>
<p><span style="font-size: 11pt; color: rgb(31, 73, 125);"> </span></p></div></div></blockquote><div>Hmmm...this is a possibility, but my thinking was that these discovery extensions would be OpenID specific. In other words, the notion of overriding the definition of XRDS/XRD "priority" attribute is pretty specific to OpenID discovery, and specific to the "2-headed auth" example in particular. I'm not opposed to making these ideas into a more generic XRI extension, but I'm not sure they're really that generic. Plus, it would be nice to have something that is "OpenID Endorsed" (or condemned) in order to ensure it makes it into OpenID best practices (e.g., always do this....or NEVER do this).<br>
</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div link="blue" vlink="purple" lang="EN-US"><div><p><span style="font-size: 11pt; color: rgb(31, 73, 125);"></span></p>
<p><span style="font-size: 11pt; color: rgb(31, 73, 125);">Now I can see an argument that just as folk could not typically adopt/implement
the X.500 DAP query model, but could adopt simpler queries expressed in simplified
ldap urls, so we might need to make a simplified XRI resolver based on lxri://
urls… building on the momentum that wants to simply parse an XRDS stored
in a static file (rather than a full-power XRDS stream generated as a
result of resolving an XRI query seeking metadata from the i-broker network)</span></p>
<p><span style="font-size: 11pt; color: rgb(31, 73, 125);"> </span></p></div></div></blockquote><div>Yes. <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div link="blue" vlink="purple" lang="EN-US"><div><p><span style="font-size: 11pt; color: rgb(31, 73, 125);"></span></p>
<p><span style="font-size: 11pt; color: rgb(31, 73, 125);">If 2 and 3 above were expressed in terms of: here is the
lightweight profile of XRI tuned to those 3 purposes, and its carefully tuned
to be easy to program…that might fly as a work item. Its taking the
current design and simply making it easier to adopt, focusing on</span></p>
<p><span style="font-size: 11pt; color: rgb(31, 73, 125);"> </span> <span style="font-size: 11pt; color: rgb(31, 73, 125);"> <br></span></p></div></div></blockquote><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div link="blue" vlink="purple" lang="EN-US"><div><p><span style="font-size: 11pt; color: rgb(31, 73, 125);"></span></p>
<p><span style="font-size: 11pt; color: rgb(31, 73, 125);"> </span></p>
<p><span style="font-size: 11pt; color: rgb(31, 73, 125);"> </span></p>
<div style="border-style: none none none solid; border-color: -moz-use-text-color -moz-use-text-color -moz-use-text-color blue; border-width: medium medium medium 1.5pt; padding: 0in 0in 0in 4pt;">
<div>
<div style="border-style: solid none none; border-color: rgb(181, 196, 223) -moz-use-text-color -moz-use-text-color; border-width: 1pt medium medium; padding: 3pt 0in 0in;">
<p><b><span style="font-size: 10pt;">From:</span></b><span style="font-size: 10pt;">
<a href="mailto:general-bounces@openid.net" target="_blank">general-bounces@openid.net</a> [mailto:<a href="mailto:general-bounces@openid.net" target="_blank">general-bounces@openid.net</a>] <b>On Behalf Of </b>David
Fuelling<br>
<b>Sent:</b> Monday, December 29, 2008 6:25 AM<br>
<b>To:</b> <a href="mailto:specs@openid.net" target="_blank">specs@openid.net</a>; <a href="mailto:general@openid.net" target="_blank">general@openid.net</a> List<br>
<b>Subject:</b> [OpenID] DISCUSSION relating to OpenID Discovery 2.1</span></p>
</div>
</div><div><div></div><div class="Wj3C7c">
<p> </p>
<p style="margin-bottom: 12pt;">Not sure if this made it
through to everyone due to the mail list malfunction, so resending just in
case.<br>
<br>
david</p>
<div>
<p style="margin-bottom: 12pt;">---------- Forwarded message
----------<br>
From: <b>David Fuelling</b> <<a href="mailto:sappenin@gmail.com" target="_blank">sappenin@gmail.com</a>><br>
Date: Fri, Dec 26, 2008 at 6:58 PM<br>
Subject: DISCUSSION relating to OpenID Discovery 2.1<br>
To: "<a href="mailto:specs@openid.net" target="_blank">specs@openid.net</a>" <<a href="mailto:specs@openid.net" target="_blank">specs@openid.net</a>>, "<a href="mailto:general@openid.net" target="_blank">general@openid.net</a> List" <<a href="mailto:general@openid.net" target="_blank">general@openid.net</a>><br>
<br>
<br>
All,<br>
<br>
I'd like to propose that the following ideas be considered as discussion points
in the OpenID 2.1 Discovery WG. I've updated the <a href="http://wiki.openid.net/Working_Groups%3AOpenID_Discovery" target="_blank">OpenID
2.1 Discovery WG wiki page</a> to reflect these ideas, and have provided two
very rough-draft proposals (currently formulated as extensions) to juice up the
dialog. The ideas are summarized below -- I'd be curious to hear any and
all feedback.<br>
<br>
Thanks!<br>
<br>
David</p>
<ol start="1" type="1">
<li style="margin-bottom: 12pt;"><b><i>Enabling two (or more) headed
OP authentication</i></b><br>
The idea here is to allow an end-user to specify two (or more) OP's in the
<Service> portion of their XRD so that an RP MUST receive
auth assertions from both OP's before granting access to protected
resources. See a rough-draft idea proposal here: <a href="http://wiki.openid.net/OP-MultiAuth" target="_blank">OP MultiAuth</a>.
XRI Resolution 2.0 seems to currently prohibit this by default per section
4.3.3: "<i>If two or more instances of the same element type
have identical priority attribute values (including the null value), the
consuming application SHOULD select one of the instances at random. This
consuming application SHOULD NOT simply choose the first instance that
appears in XML document order.</i>" Thus, in order to indicate
to the RP that both OP URI's should be used at the same time, an
aditional <Type> element is used to signify that identical priority
URI's should be used together for the purposes of OpenID Auth.</li>
<li style="margin-bottom: 12pt;"><b><i>OP Delegation based upon various
characteristics of an OpenID transaction</i></b><br>
The idea here is to allow an end-user to delegate authority over a
particular OpenID Identifier to divergent OpenID Providers (OP's),
depending on certain characteristics of a Relying Party and/or certain
characteristics of an OpenID transaction. For example, an Identifier
might specify a different authoritative OP depending on the OpenID-related
Service being employed (e.g., OpenID 2.0, OAuth, or others); the RP Domain
(*.<a href="http://example.com" target="_blank">example.com</a>); or a
pre-defined service Class (e.g., one OP for single-factor auth, and
another OP when two-factor Auth is required). By providing
OpenID Identifiers with the ability to specify multiple OP's based on
particular characteristics of each OpenID transaction, end-users will be
able to utilize the best OP for any particular OpenID transaction as they
see fit (i.e., more control in the hands of the user). See a
rough-draft here: <a href="http://wiki.openid.net/OP-Delegation" target="_blank">OP Delegation</a>.</li>
<li><b><i>Discovery Extensions</i></b><br>
The OpenID Discovery specification should define ways for discovery
to be extended by other services. For example, the
OAuth+OpenID specification may want to peform discovery in slighly
different ways than regular OpenID Auth 2.1 does. Likewise,
ideas numbers 1 and 2 above could be implemented as extensions to
Discovery instead of being included in the main 2.1 Discovery
specification.</li>
</ol>
</div>
<p> </p>
</div></div></div>
</div>
</div>
</blockquote></div><br>