<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=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@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:12.0pt;
        font-family:"Times New Roman",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.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#002060;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#002060;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@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="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#002060">I think it would be a sign of a significant problem if implementations of the HEART OpenID Connect profile can’t pass the pertinent OpenID Connect certifications. 
 If people think that that is going to be the case, we should call out the reasons why as early as possible and jointly review them in the HEART and Connect working groups and see what can be done to remedy the situation.  Remedies could involve spec work,
 certification work, or both.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#002060"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#002060">I don’t think that any of us want to have to have to explain to people why implementations of the HEART OpenID Connect profile can’t pass the pertinent OpenID
 Connect certifications.  Code reuse is fine as far as it goes, but if we have to go there, it’s a sign of a significant failure on the part of the OpenID Foundation as a whole, at least as I see it.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#002060"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#002060">Hopefully there will be no impediments and all of this will have been an academic discussion, but if there are blocking issues, we need to get ahead of it as
 soon as possible – before the HEART specs go to Implementer’s Draft review.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#002060"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#002060">                                                          Best wishes,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#002060">                                                         -- Mike<o:p></o:p></span></p>
<p class="MsoNormal"><a name="_MailEndCompose"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#002060"><o:p> </o:p></span></a></p>
<span style="mso-bookmark:_MailEndCompose"></span>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Justin Richer [mailto:jricher@mit.edu]
<br>
<b>Sent:</b> Tuesday, December 1, 2015 12:25 PM<br>
<b>To:</b> Mike Jones <Michael.Jones@microsoft.com><br>
<b>Cc:</b> Adrian Gropper <agropper@healthurl.com>; openid-specs-heart@lists.openid.net<br>
<b>Subject:</b> Re: [Openid-specs-heart] HEART Profiles - OpenID Connect Certification<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I actually think the conformance will be separate even in the OIDC case, but that’s not something that this group has decided yet and so it’s not something we can say for sure one way or the other.<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">However, that doesn’t imply that the conformance tests or tools will be rewritten from scratch. Code re-use is still very powerful without formal cross-reference.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"> — Justin<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">On Dec 1, 2015, at 3:20 PM, Mike Jones <<a href="mailto:Michael.Jones@microsoft.com">Michael.Jones@microsoft.com</a>> wrote:<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#002060">I assume that what you’re actually saying, Justin, is that OpenID Connect certification wouldn’t be appropriate for the OAuth or UMA profiles but that at least
 some Connect conformance profiles would be applicable for the OpenID Connect HEART profile.  I say that, because I doubt that HEART would want reproduce all the tests verifying standard OpenID Connect conformance.  Is that correct or is there something I’m
 not understanding?</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#002060"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#002060">                                                          Thanks,</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#002060">                                                          -- Mike</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#002060"> </span><o:p></o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Openid-specs-heart [<a href="mailto:openid-specs-heart-bounces@lists.openid.net">mailto:openid-specs-heart-bounces@lists.openid.net</a>]
<b>On Behalf Of </b>Justin Richer<br>
<b>Sent:</b> Tuesday, December 1, 2015 9:26 AM<br>
<b>To:</b> Adrian Gropper <<a href="mailto:agropper@healthurl.com">agropper@healthurl.com</a>><br>
<b>Cc:</b> <a href="mailto:openid-specs-heart@lists.openid.net">openid-specs-heart@lists.openid.net</a><br>
<b>Subject:</b> Re: [Openid-specs-heart] HEART Profiles - OpenID Connect Certification</span><o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">On Dec 1, 2015, at 12:11 PM, Adrian Gropper <<a href="mailto:agropper@healthurl.com">agropper@healthurl.com</a>> wrote:<o:p></o:p></p>
<div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal"> <o:p></o:p></p>
<div>
<div>
<div>
<p class="MsoNormal">This is a subthread specific to the OIDC Certification issues in the 3 profiles currently up for discussion.<o:p></o:p></p>
</div>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">OIDC certification has nothing to do with HEART compliance, except that possible future HEART certification systems will follow that model. We’re not requiring compliance with OIDC Certification, especially not for the Oauth2 profile.<o:p></o:p></p>
</div>
<p class="MsoNormal"><br>
<br>
<br>
<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<p class="MsoNormal">I'm trying to understand the HEART profile for OAuth 2.0 has numerous mentions of OpenID Connect including:
<o:p></o:p></p>
<div>
<div style="margin-left:30.0pt">
<p class="MsoNormal">"The authorization server MUST provide an OpenID Connect service discovery endpoint listing the components relevant to the OAuth protocol:"<o:p></o:p></p>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal">as it relates to real-world implementations of an authorization server in the context of the HEART Use Cases.<o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Again, I ask you to point out the “numerous mentions” and why those are problems as I’ve already explained why we’re using the discovery service from OIDC.<o:p></o:p></p>
</div>
<p class="MsoNormal"><br>
<br>
<br>
<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">The OpenID Certification page <a href="http://openid.net/certification/">
http://openid.net/certification/</a> lists both Google and MITREid Connect. The key difference seems to be that OP Dynamic is not implemented by Google.
<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">In the context of building a resource owner's authorization server like HIE of One, the AS wants to make it easy and clear as it decides to add trusted OPs to its OP whitelist.
<br>
<br>
Adding Google as an OP is certainly fussy. The steps involve access by the RO to a Credentials Page on their OP as detailed
<a href="https://developers.google.com/identity/protocols/OpenIDConnect?hl=en">https://developers.google.com/identity/protocols/OpenIDConnect?hl=en</a> This is hardly a good user experience for a consumer that simply want to tell her authorization server to
 trust Google as a source of user authentication. <o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Agreed, but that’s something to bug Google about. It also means that you’ll be shipping your client credentials around with each copy of “HIE Of One” if you don’t want the individual copies to re-register by hand. <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Furthermore, Google doesn’t support the private_key_jwt method required by HEART at the moment anyway, so it’s a bit of a moot point.<o:p></o:p></p>
</div>
<p class="MsoNormal"><br>
<br>
<br>
<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">I presume that OPs that implement OP Dynamic such as MITREid Connect improve the fussy Google user experience. Let's consider a hospital called NPE (the resource server) that is willing to act as source of user authentication for access
 to their HEART-compliant API. <br>
1 - Alice (RO) would start by logging in to the NPE (RS) patient portal<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">2 - Alice would provide the RS with something like a URI or an email address that enables the HEART-compliant RS to discover Alice's HEART-compliant AS (HIE of One).<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">3 - Alice's AS would put up some kind of authorization form listing NPE as a willing OP Dynamic identity provider for any provider that NPE is willing to take responsibility for authenticating.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">4 - If Alice approves, this authorization form, then NPE is added to her AS whitelist of OPs.<o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">That would work, but I don’t think it’s a full information flow. I know you’re not trying to show details here but I think that’s going to be required for this proposed system to be real. Best way to do that? Build it and run it! Also,
 it doesn’t mean that it’s whitelisted, it just means that it’s usable after being discovered and registered. This can all be done alongside statically registered systems, too. A whitelist means that users aren’t prompted for decisions, but if someone else
 on Alice’s  OP logs in, you’d want to prompt them.<o:p></o:p></p>
</div>
<p class="MsoNormal"><br>
<br>
<br>
<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal">If we're all together this far, we come up with some clarifying questions:<o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">A - Why doesn't any well-known name on the OpenID Certified list implement OP Dynamic?<o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">They have a belief that they don’t have to: all the RPs will come to them and they can control the dynamic. There are spurious justifications for this at most providers.<o:p></o:p></p>
</div>
<p class="MsoNormal"><br>
<br>
<br>
<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">B - If HIE of One could get the Django help we need to implement OP Dynamic would the sequence 1-4 above be testable against
<a href="http://healthauth.org/">healthauth.org</a> with (alice/wonderland)?<o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Probably.<o:p></o:p></p>
</div>
<p class="MsoNormal"><br>
<br>
<br>
<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">C - When RSs implement the HEART profiles as currently proposed, will it be possible for Alice's AS to combine the authorization for NPE OP registration and NPE resource registration into a single form such as: <o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
</blockquote>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal"><br>
<image.png><br>
?<o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">The short answer is yes. You’re conflating the form and the functionality that it provides. One form can trigger many things with the right server. <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> — Justin<o:p></o:p></p>
</div>
<p class="MsoNormal"><br>
<br>
<br>
<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Adrian<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><br>
<br>
-- <o:p></o:p></p>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
<div>
<p class="MsoNormal">Adrian Gropper MD<br>
<br>
<span style="font-family:"Arial",sans-serif;color:#1F497D">PROTECT YOUR FUTURE - RESTORE Health Privacy!<br>
HELP us fight for the right to control personal health data.<br>
DONATE: <a href="http://patientprivacyrights.org/donate-2/" target="_blank"><span style="color:#0563C1">http://patientprivacyrights.org/donate-2/</span></a></span>
<o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal">_______________________________________________<br>
Openid-specs-heart mailing list<br>
<a href="mailto:Openid-specs-heart@lists.openid.net">Openid-specs-heart@lists.openid.net</a><br>
<a href="http://lists.openid.net/mailman/listinfo/openid-specs-heart">http://lists.openid.net/mailman/listinfo/openid-specs-heart</a><o:p></o:p></p>
</div>
</blockquote>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
</body>
</html>