So, one possible "another way" would be to have an option to include more user info in the id_token. <div>That way, we can keep the "opaqueness" requirement for the access_token intact and still accomodate the need for being able to access claims without a second call. </div>
<div><br></div><div>That actually is how it was done in earlier drafts. </div><div><br></div><div>=nat<br><br><div class="gmail_quote">On Sun, Nov 6, 2011 at 1:39 AM, Mike Jones <span dir="ltr"><<a href="mailto:Michael.Jones@microsoft.com">Michael.Jones@microsoft.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">





<div lang="EN-US" link="blue" vlink="purple">
<div>
<p class="MsoNormal">As discussed during the working group call on Thursday, I received feedback on the current Connect design from a key Microsoft product architect based upon his product’s use cases.  The high-order bit in his feedback was that he needs RPs
 to be able to access claims without making a second call to Check ID or UserInfo endpoints.  Per the discussion on the call, the requirement to be able to access claims without additional round trips seems entirely reasonable and is motivated by real user-interface
 latency concerns.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">To accomplish this, all claims would be carried in JWT tokens, which would then be directly used by the RPs.  This conflicts with the current design decision that the access token is opaque and that UserInfo claims can only be retrieved
 by making a second call to the UserInfo endpoint.  I propose that we change that decision before declaring implementer’s drafts.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Specifically, I would require that, in the normal case, the access token is a JWT containing the UserInfo claims (just like the ID Token is a JWT containing the logged-in session claims).  If we decide that it’s important to allow some
 implementations to use a different token format, that should be the exception, not the default.  In that exceptional case, those IdPs must declare in their discovery information that UserInfo claims must be retrieved from the UserInfo endpoint, and cannot
 be directly accessed within a JWT access token.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">I’d promised on the call to write up this proposed change.  This is that write-up.  We’ll discuss this on the Monday call.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">                                                            Best wishes,<u></u><u></u></p>
<p class="MsoNormal">                                                            -- Mike<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">P.S.  Coincidentally, I also independently received essentially the same feedback from a different product architect yesterday, based upon his review of the specs.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>

<br>_______________________________________________<br>
Openid-specs-ab mailing list<br>
<a href="mailto:Openid-specs-ab@lists.openid.net">Openid-specs-ab@lists.openid.net</a><br>
<a href="http://lists.openid.net/mailman/listinfo/openid-specs-ab" target="_blank">http://lists.openid.net/mailman/listinfo/openid-specs-ab</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Nat Sakimura (=nat)<div>Chairman, OpenID Foundation<br><a href="http://nat.sakimura.org/" target="_blank">http://nat.sakimura.org/</a><br>@_nat_en</div><br>

</div>