<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Plain Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:"Calibri","sans-serif";}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoPlainText">Actually, claim names need not be URIs.  See <a href="http://self-issued.info/docs/draft-jones-json-web-token-05.html#anchor4">
Section 4</a> the JWT spec, which allows the use of any of reserved claim names, public claim names (which are to be taken from a collision-resistant namespace), and private claim names (which can be any string at all).  The UserInfo claim names are actually
 an example of the use of private claim names.  Others could be used as well besides those defined by the JWT and OpenID Connect Messages specs.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">                                                                -- Mike<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">-----Original Message-----<br>
From: openid-specs-ab-bounces@lists.openid.net [mailto:openid-specs-ab-bounces@lists.openid.net] On Behalf Of John Bradley<br>
Sent: Tuesday, September 20, 2011 2:44 PM<br>
To: Roland Hedberg<br>
Cc: openid-specs-ab@lists.openid.net<br>
Subject: Re: [Openid-specs-ab] Reserved member definitions</p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">The schema is extended by using claims.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">All claim names MUST be URI.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Just a small number of non URI strings are reserved in the schema for common claims.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">So yes you could use foaf or eduperson URI.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Perhaps that needs clarification.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">John<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">On 2011-09-20, at 3:39 AM, Roland Hedberg wrote:<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">> <o:p></o:p></p>
<p class="MsoPlainText">> 19 sep 2011 kl. 23:54 skrev John Bradley:<o:p></o:p></p>
<p class="MsoPlainText">> <o:p></o:p></p>
<p class="MsoPlainText">>> I am sympathetic to the position. <o:p></o:p></p>
<p class="MsoPlainText">>> <o:p></o:p></p>
<p class="MsoPlainText">>> However without namespace support in JSON, we just end up adding extra characters to the reserved names for not much more than formal correctness.<o:p></o:p></p>
<p class="MsoPlainText">> <o:p></o:p></p>
<p class="MsoPlainText">> Yeah, that is a serious limitation to JSON.<o:p></o:p></p>
<p class="MsoPlainText">> <o:p></o:p></p>
<p class="MsoPlainText">>> The decision was to go for a fixed schema (implied namespace) and fully namespaces claims.<o:p></o:p></p>
<p class="MsoPlainText">> <o:p></o:p></p>
<p class="MsoPlainText">> What do you mean with 'fully namespaces claims' ?<o:p></o:p></p>
<p class="MsoPlainText">> <o:p></o:p></p>
<p class="MsoPlainText">>> Perhaps being clear that all of the reserved claim names have a implied namespace that is not included in the JSON itself.<o:p></o:p></p>
<p class="MsoPlainText">> <o:p></o:p></p>
<p class="MsoPlainText">> That would be important in the future.<o:p></o:p></p>
<p class="MsoPlainText">> <o:p></o:p></p>
<p class="MsoPlainText">> OpenID Connect comes from OpenID which I have understood as being geared towards individuals maintaining their net identity.<o:p></o:p></p>
<p class="MsoPlainText">> I've been think about what it would take to make OpenID Connect usable in an organization context or for that matter in the context of federations of organizations. Something which I'd like to see as in scope.<o:p></o:p></p>
<p class="MsoPlainText">> <o:p></o:p></p>
<p class="MsoPlainText">> And the first thing I stumble across is the lack of/limited extensibility of the schema.<o:p></o:p></p>
<p class="MsoPlainText">> This is a major limitation.<o:p></o:p></p>
<p class="MsoPlainText">> There is just a matter of course that there isn't an organization out there that doesn't have at least one attribute that is specific to them (at least they think it is) that they just have to have in an identity provider for it to
 be usable in their context.<o:p></o:p></p>
<p class="MsoPlainText">> So having an implied namespace for the OpenID Connect attributes could we allow for 'fully qualified' attributes from other namespaces ?<o:p></o:p></p>
<p class="MsoPlainText">> <o:p></o:p></p>
<p class="MsoPlainText">> For instance:<o:p></o:p></p>
<p class="MsoPlainText">> <o:p></o:p></p>
<p class="MsoPlainText">> {<o:p></o:p></p>
<p class="MsoPlainText">> "name": "Jane Doe"<o:p></o:p></p>
<p class="MsoPlainText">> "given_name": "Jane",<o:p></o:p></p>
<p class="MsoPlainText">> "family_name": "Doe",<o:p></o:p></p>
<p class="MsoPlainText">> "email": "<a href="mailto:janedoe@example.com"><span style="color:windowtext;text-decoration:none">janedoe@example.com</span></a>",<o:p></o:p></p>
<p class="MsoPlainText">> "picture": "<a href="http://example.com/janedoe/me.jpg"><span style="color:windowtext;text-decoration:none">http://example.com/janedoe/me.jpg</span></a>",<o:p></o:p></p>
<p class="MsoPlainText">> "<a href="http://xmlns.com/foaf/0.1/title"><span style="color:windowtext;text-decoration:none">http://xmlns.com/foaf/0.1/title</span></a>": "Ms"<o:p></o:p></p>
<p class="MsoPlainText">> }<o:p></o:p></p>
<p class="MsoPlainText">> <o:p></o:p></p>
<p class="MsoPlainText">> -- Roland<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
</div>
</body>
</html>