Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "ContextId"
(added ABNF and more examples) |
m (correct capitalization) |
||
Line 17: | Line 17: | ||
Rules not defined in this ABNF are defined in the [http://wiki.oasis-open.org/xri/XriCd02/Xri2dot0Abnf ABNF for XRI 2.0] (which includes the IRI ABNF from [http://www.ietf.org/rfc/rfc3987.txt RFC 3987]. | Rules not defined in this ABNF are defined in the [http://wiki.oasis-open.org/xri/XriCd02/Xri2dot0Abnf ABNF for XRI 2.0] (which includes the IRI ABNF from [http://www.ietf.org/rfc/rfc3987.txt RFC 3987]. | ||
− | + | contextId = contextURI / | |
contextXRI | contextXRI | ||
contextURI = contextfileURI / | contextURI = contextfileURI / | ||
Line 39: | Line 39: | ||
Notes: | Notes: | ||
− | # These are the first two file types are designed expressly for HTTP(S) | + | # These are the first two file types are designed expressly for discovery and description of resources using HTTP(S) URIs and/or XRIs. XRDS format is defined by [http://www.oasis-open.org/committees/download.php/24286/xri-resolution-v2.0-wd-11-ed-02.doc XRI Resolution Working 2.0]. XDI format is being defined by the OASIS XDI Technical Committee. Future file types can be supported by extending this ABNF rule. |
− | # QXRI | + | # QXRI (Query XRI) is an XRI in URI-normal form without the "xri://" prefix. See [http://www.oasis-open.org/committees/download.php/24286/xri-resolution-v2.0-wd-11-ed-02.doc XRI Resolution 2.0]. |
− | # HXRI | + | # HXRI (HTTP(S) XRI) is the format for encapsulating an XRI within an HTTP(S) URI for purposes of resolution by an XRI proxy resolver. See section 8 of [http://www.oasis-open.org/committees/download.php/24286/xri-resolution-v2.0-wd-11-ed-02.doc XRI Resolution 2.0]. |
== Examples == | == Examples == | ||
− | === | + | === ContextURI === |
− | A | + | A ContextId in ContextURI form can be either a file or HTTP(S) URI. In either case it must end with either ".xrds" or ".xdi". |
file://system/config/higgins.xrds | file://system/config/higgins.xrds | ||
Line 53: | Line 53: | ||
https://example.com/higgins/ldap.xdi | https://example.com/higgins/ldap.xdi | ||
− | === | + | === ContextQXRI === |
− | + | A ContextQXRI (Query XRI) is a pure XRI in XRI-normal form that does not include the "xri://" prefix. | |
=drummond/ | =drummond/ | ||
Line 72: | Line 72: | ||
@free*example/$context+ldap | @free*example/$context+ldap | ||
− | === | + | === ContextHXRI === |
− | + | A contextHXRI is a ContextQXRI that uses an HXRI proxy resolver prefix. "xri.net" is a public HXRI proxy resolver operated by XDI.org. All others are examples. | |
http://xri.net/=drummond/ | http://xri.net/=drummond/ | ||
Line 81: | Line 81: | ||
== Open Issues == | == Open Issues == | ||
− | # Should the | + | # Should the contextId ABNF support IRI (Internationalized Resource Identifiers) and not just URIs? Note that the ABNF above uses IRI rules; this needs to be changed if only URIs will be supported. |
# Do we need a method in IdAS to test that two given ContextIds actually resolve to the same [[Context]]? | # Do we need a method in IdAS to test that two given ContextIds actually resolve to the same [[Context]]? | ||
Revision as of 23:12, 18 July 2007
Contents
Introduction
This page describes and defines a Higgins ContextId.
Definition
- A ContextId is a URI or XRI that identifies one Context.
- A ContextId MUST conform to the ABNF defined below.
- ContextIds either directly or indirectly (e.g. by resolution) provide sufficient information to identify a Context.
- Two different ContextIds may refer to the same Context.
- If two ContextIds are equal, they refer to the same underlying Context dataset, although not necessarily the same Context "container" instance, and, based on the authorization of the Digital Identity passed in during authentication, may only be permitted to see a subset of its contents.
- A given ContextId may be used against multiple Context Factorys to produce the same Context (although, as mentioned, different Context instances).
- ContextIds are used by the Identity Attribute Service (IdAS) API
ABNF
Note that this ABNF also defines a Higgins SubjectID and CSID (Contextualized SubjectID).
Rules not defined in this ABNF are defined in the ABNF for XRI 2.0 (which includes the IRI ABNF from RFC 3987.
contextId = contextURI / contextXRI contextURI = contextfileURI / contexthttpURI contextfileURI = [ "file://" ] ipath-abempty descriptor-ext descriptor-ext = ".xrds" / ".xdi" ;see note 1 contexthttpURI = ( "http://" / "https://" ) iauthority ipath-abempty [ descriptor-ext ] [ "?" iquery ] contextXRI = [ "xri://" ] contextQXRI / ;see note 2 contextHXRI ;see note 3 contextQXRI = xri-authority / [ xri-segment ] contextHXRI = proxy-resolver "/" contextQXRI proxy-resolver = ( "http://" / "https://" ) proxy-reg-name proxy-reg-name = "xri." ireg-name subjectID = ifragment / xri-segment csid = csidURI / csidXRI csidURI = contextURI "#" ifragment csidXRI = contextXRI "/" xri-segment
Notes:
- These are the first two file types are designed expressly for discovery and description of resources using HTTP(S) URIs and/or XRIs. XRDS format is defined by XRI Resolution Working 2.0. XDI format is being defined by the OASIS XDI Technical Committee. Future file types can be supported by extending this ABNF rule.
- QXRI (Query XRI) is an XRI in URI-normal form without the "xri://" prefix. See XRI Resolution 2.0.
- HXRI (HTTP(S) XRI) is the format for encapsulating an XRI within an HTTP(S) URI for purposes of resolution by an XRI proxy resolver. See section 8 of XRI Resolution 2.0.
Examples
ContextURI
A ContextId in ContextURI form can be either a file or HTTP(S) URI. In either case it must end with either ".xrds" or ".xdi".
file://system/config/higgins.xrds file://system/config/higgins.xdi http://example.com/higgins/ldap.xrds https://example.com/higgins/ldap.xdi
ContextQXRI
A ContextQXRI (Query XRI) is a pure XRI in XRI-normal form that does not include the "xri://" prefix.
=drummond/ =drummond/$context+openid =drummond/$context+ldap =!F83.62B1.44F.2813/ =!F83.62B1.44F.2813/$context+openid =!F83.62B1.44F.2813/$context+ldap =drummond*mom/ =drummond*mom/$context+openid =drummond*mom/$context+ldap @example/ @example/$context+openid @example/$context+ldap @free*example/ @free*example/$context+openid @free*example/$context+ldap
ContextHXRI
A contextHXRI is a ContextQXRI that uses an HXRI proxy resolver prefix. "xri.net" is a public HXRI proxy resolver operated by XDI.org. All others are examples.
http://xri.net/=drummond/ https://xri.net/=drummond/$context+openid http://xri.example.com/@example/$context+openid https://xri.example.org/@1000.a1b2.c3d4.9999/$context+ldap
Open Issues
- Should the contextId ABNF support IRI (Internationalized Resource Identifiers) and not just URIs? Note that the ABNF above uses IRI rules; this needs to be changed if only URIs will be supported.
- Do we need a method in IdAS to test that two given ContextIds actually resolve to the same Context?