[OpenID] host-meta and "acct:"
Will Norris
will at willnorris.com
Wed Nov 4 08:24:51 UTC 2009
On Nov 1, 2009, at 8:13 AM, Peter Williams wrote:
> Yes. Only the XRD element has an xml:id attribute, schematically.
> But I
> could not detect your point, of saying this fact.
I imagine he was responding to your statement that:
> The subject has to bear the xml:id
XRD's extensibility model certainly allows you to put an xml:id on the
<Subject> if you want to, though that would certainly not be the
xml:id used as the <ds:Reference> in the signature. The Signature, if
present, MUST reference the xml:id attribute of the root XRD element
being signed. Keep in mind that this may or may not be the root
element of the XML document, as in the case of XRDS.
> And, a subject name is about an XRD in a context (in general). One
> such
> context is the native signing/trust model (if used).
I'm not completely sure what you mean here. The subject identifies
the resource the XRD is about, regardless of "context" (maybe
depending on how you define context?).
To maybe clear up some of the discussion around Subject, and whether
or not it is required (and hopefully not to re-open a can of worms
that has seemed to die down)... (and I realize I just sent some of
this in another thread on this list, but it's worth repeating)
An XRD Subject is effectively useful for two things.
1. It identifies the resource the XRD is about
2. It is anticipated that some XRD trust profiles will use the
subject URI to varying degrees to assess the trustworthiness of a
signed XRD. One example is by comparing the subject URI to key
material used to generate the signature. None of these XRD trust
profiles have been written yet, so no one can say with any certainty
exactly what they will contain. I CAN tell you that we have discussed
profiles that will most certainly make use of Subject, and we have
also discussed profiles that will very likely NOT make use of Subject.
Subject is not a required element of XRD. What it actually means for
an XRD to lack a Subject depends on a few things...
2. If the XRD is signed, then clearly it must be using a trust
profile that does not require a Subject. Remember, no XRD trust
profiles exist yet, but we do anticipate that there will be one or
more that won't require a Subject. That can't be said with any
certainty because we just don't know yet.
1. How do you know what resource an XRD is about if you don't have
a subject? As far as XRD proper is concerned, the answer is
undefined. XRD 1.0 gives you one way to identify the resource the XRD
is about, but says nothing about what it means if the Subject is
absent. This is intentional... we didn't want to preclude other ways
of identifying the subject (or maybe even subjects, plural) of the
XRD. What implication will these other subject-identifcation methods
have on applications and protocols that use XRD for resource
description? We can't really answer that, because we don't know. For
the use-cases we've been able to identify so far, and the ones we've
had in mind while designing XRD, it seems to work out okay.
It is entirely possible that some applications will require the
presence of an XRD Subject element, and that's perfectly okay. XRD
can be profiled to add whatever additional constraints a particular
application or protocol needs to be useful, secure, scalable, etc.
So what about XRDs that don't contain a Subject element, nor contain
any other defined way of identifying the resource(s) the XRD is
about? Again, this is undefined. If you're unable to identify (by
whatever means) the subject (explicit or implied) of the XRD, I can't
tell you what that means. It doesn't sound terribly useful. Would it
be a valid XRD? Yes, absolutely. Is it a useful XRD? No, probably
not, though someone may come up with a valid case for it. By the same
token, the following is also a completely valid XRD document:
<XRD xmlns="http://docs.oasis-open.org/ns/xri/xrd-1.0" />
It's not useful at all, but it's entirely valid.
Try not to get too hung up on Subject. In many common use cases,
Subject will be present, and you won't have to worry about it. In
cases where Subject is not present, then there will need to be some
other defined means for providing the necessary information to address
common uses that Subject is used for. As long as you have some other
means to identify the resource the XRD is about and, if necessary, a
way to assess the trustworthiness of a signed XRD, then you can get by
just fine without a formal Subject element.
-will
More information about the general
mailing list