Identity Attribute Metadata Draft 1
Dick Hardt
dick at sxip.com
Sat Nov 25 06:37:32 UTC 2006
TOC
Draft D. Hardt
Sxip Identity
November 24, 2006
Identity Attribute Metadata - Draft 01
Abstract
An outline of the attribute metadata schema and types for identity
attributes.
Table of Contents
1. Overview
2. Terminology
2.1. Definitions and Conventions
3. Metadata Format
3.1. Data Format Types
3.2. Attribute Types
3.2.1. Standard Predicates
3.2.2. Supplemental Predicates
3.2.3. Example
4. Future Directions
4.1. Compound Properties
4.2. Equivalents
4.3. Higgins Ontology Predicates
5. References
5.1. Normative References
5.2. Informative References
§ Author's Address
TOC
1. Overview
This document defines the schema used to describe identity object
data as used in such protocols as OpenID Attribute Exchange. The
schema data is intended to be resolvable at the URI of the identity
object, the attribute type identifier.
TOC
2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119] (Bradner,
S., “Key words for use in RFCs to Indicate Requirement Levels,”
March 1997.).
TOC
2.1. Definitions and Conventions
Identity Object
Identity "objects" (IdO) are defined to be sets of name-value pairs
of personal identity information. They assert the claim that, for a
given identity subject, a named property has the provided value.
Service Provider
Service providers (SPs) are entities that require identification
information.
Identity Provider
An identification provider (IdP) stores IdOs, which are made
available to an identity agent upon request.
Identity Agent
The identity agent (IdA) operates under the user's control and
intermediates requests for ID objects between the identification
provider and the SP.
Identity Attribute Type
Identity attribute types (also referred to as simply "attribute
types") are types of subject properties expressed in an identity
context. Examples are "surname" or "birth date".
Identity Attribute Format Type
The identity attribute format type ("format type") refers to the
layout of the data in the value of an identity attribute type. They
may be as simple as a normalized string or as complicated as a
telephone number format.
TOC
3. Metadata Format
TOC
3.1. Data Format Types
Data format types are the primitive types used to define the layout
of the information in the attribute values. The types are defined in
XML Schema ([W3C.REC‑xmlschema‑2‑20041028] (Biron, P. and A.
Malhotra, “XML Schema Part 2: Datatypes Second Edition,” October
2004.)) and include the predefined XML Schema types.
For example, here are several formats used with the OpenID attribute
exchange protocol ([OpenID.attribute‑exchange‑1.0] (Hardt, D.,
“OpenID Attribute Exchange,” August 2006.)).
http://schema.openid.net/types/country
<xsd:simpleType name="country">
<xsd:restriction base="xsd:NMTOKEN">
<!-- AFGHANISTAN -->
<xsd:enumeration value="AF"/>
<!-- Ã…LAND ISLANDS -->
<xsd:enumeration value="AX"/>
<!-- ALBANIA -->
<xsd:enumeration value="AL"/>
<!-- ALGERIA -->
<xsd:enumeration value="DZ"/>
... etc ...
</xsd:restriction>
</xsd:simpleType>
http://schema.openid.net/types/email
<xsd:simpleType name="email" >
<xsd:restriction base="xsd:token">
<xsd:pattern value=
"([\.a-zA-Z0-9_-])+@
([a-zA-Z0-9_-])+(([a-zA-Z0-9_-])*\.([a-zA-Z0-9_-])+)+"
/>
</xsd:restriction>
</xsd:simpleType>
http://schema.openid.net/types/gender
<xsd:simpleType name="gender">
<xsd:restriction base="xsd:NMTOKEN">
<xsd:enumeration value="M"/>
<xsd:enumeration value="F"/>
</xsd:restriction>
</xsd:simpleType>
http://schema.openid.net/types/phone
<xsd:simpleType name="phone">
<xsd:restriction base="xsd:string">
<xsd:pattern value="\+?[0-9]+([- ][0-9]+)*"/>
</xsd:restriction>
</xsd:simpleType>
http://schema.openid.net/types/timezone
<xsd:simpleType name="timezone">
<xsd:restriction base="xsd:string">
<xsd:pattern value="[a-zA-Z/-]+"/>
</xsd:restriction>
</xsd:simpleType>
TOC
3.2. Attribute Types
The metadata for attribute types is expressed in RDF/XML format. It
is intended to be a fairly simple way of expressing the minimal
amount of metadata needed to describe the attribute types. More
complicated ontological data is optional but recommended.
Each attribute type record should include a stylesheet XML directive
pointing to an XSL template that translates the metadata into a human
readable format.
TOC
3.2.1. Standard Predicates
The standard predicates that MUST be in all metadata records are:
http://www.w3.org/1999/02/22-rdf-syntax-ns#type
The rdf:type predicate has as its object the XML Schema data type or
a type defined as per Section 3.1 (Data Format Types).
http://www.w3.org/2000/01/rdf-schema#label
The label is a short description of the attribute type. XML provides
an xml:lang attribute that can be used on this element to provide a
way to describe the language as per [RFC4646] (Phillips, A. and M.
Davis, “Tags for Identifying Languages,” September 2006.) used for
the content of the element. Using language tagging in this way,
multiple labels can be provided for localization purposes.
http://www.w3.org/2000/01/rdf-schema#comment
The rdfs:comment element is used to provide a long textual
description of the attribute type. As for the rdf:label element,
multilingual documentation is supported by the language tagging
feature of RDF literals.
TOC
3.2.2. Supplemental Predicates
These predicates are optional and MAY be included in metadata records:
http://schema.openid.net/metadata#example
Example value data for the attribute type.
http://www.w3.org/2000/01/rdf-schema#seeAlso
Indicates a resource that might provide additional information about
the subject attribute type.
http://schema.openid.net/metadata#acquisition
The object of this predicate is a URL from which the IdO may be
acquired. Multiple URLs may be specified. The acquisition mechanism
is not specified, but would be retrieved using a discovery mechanism
specific to the protocol being used.
http://schema.openid.net/metadata#authority
Except in the case of a self-asserted IdO, a list of authority URIs
for asserted claims is necessary. Each URI is that of an assertion
authority that is allowed to make the IdO claim.
TOC
3.2.3. Example
A brief example of the standard predicates and the openid:example
element as applied to the http://schema.openid.net/namePerson/first
attribute type.
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="schema.xslt"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:openid="http://schema.openid.net/metadata#">
<rdf:Description rdf:about="http://schema.openid.net/namePerson/first">
<rdfs:label>
First name
</rdfs:label>
<rdfs:comment>
First or given name of subject
</rdfs:comment>
<openid:example>
John
</openid:example>
<rdf:type
rdf:resource="http://www.w3.org/2001/XMLSchema#normalizedString"/>
<openid:acquisition
rdf:resource="http://example.gov/id"/>
</rdf:Description>
</rdf:RDF>
TOC
4. Future Directions
Additional metadata information may be added as more complex
attribute types are constructed. The following sections outline
possible extensions to the existing simple type definitions.
TOC
4.1. Compound Properties
The IdO may also be composed of an aggregate of other IdO types, in
which case the aggregate IdO URIs will be referenced.
TOC
4.2. Equivalents
An IdO may make a claim that is equivalent to the claim of an IdO of
a different type. The equivalent IdO types are listed in this section.
An IdO may be transformed to one of a different type if it is listed
as an equivalent. This property is not commutative.
This information may be extended to include translation mechanisms
between format types. A richer transform specification would allow
claims to be made based on a broader equivalence domain.
TOC
4.3. Higgins Ontology Predicates
The Higgins project has created a base ontological vocabulary at
[Higgins‑Ontology] (Trevithick, P., “Higgins Ontology v1.10,”
October 2006.). Use of this vocabulary allows for the integration of
the attribute types into a broader catalog.
TOC
5. References
TOC
5.1. Normative References
[OpenID.attribute-exchange-1.0] Hardt, D., “OpenID Attribute
Exchange,” August 2006 (TXT, HTML).
[RFC2119] Bradner, S., “Key words for use in RFCs to Indicate
Requirement Levels,” BCP 14, RFC 2119, March 1997 (TXT, HTML, XML).
[RFC4646] Phillips, A. and M. Davis, “Tags for Identifying
Languages,” BCP 47, RFC 4646, September 2006.
[W3C.REC-xmlschema-2-20041028] Biron, P. and A. Malhotra, “XML
Schema Part 2: Datatypes Second Edition,” World Wide Web Consortium
Recommendation REC-xmlschema-2-20041028, October 2004 (HTML).
TOC
5.2. Informative References
[Higgins-Ontology] Trevithick, P., “Higgins Ontology v1.10,”
October 2006.
TOC
Author's Address
Dick Hardt
Sxip Identity
798 Beatty Street
Vancouver, BC V6B 2M1
CA
Email: dick at sxip.com
URI: http://sxip.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openid.net/pipermail/openid-specs/attachments/20061124/cb554843/attachment-0002.htm>
More information about the specs
mailing list