<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">There are four things that SAML defines for proxies.<div class=""><br class=""></div><div class="">1 <span style="font-size: 10pt; font-family: CourierNewPSMT;" class=""><IDPList> </span><span style="font-size: 10pt; font-family: ArialMT;" class="">[Optional] </span><span style="font-family: ArialMT; font-size: 10pt;" class="">An advisory list of identity providers and associated information that the requester deems acceptable </span><span style="font-family: ArialMT; font-size: 10pt;" class="">to respond to the request. </span></div><div class=""><span style="font-family: ArialMT; font-size: 10pt;" class=""><br class=""></span></div><div class=""><span style="font-family: ArialMT; font-size: 10pt;" class="">That is a bit like domain_hint but multi valued as more than one hop is allowed.</span></div><div class=""><span style="font-family: ArialMT; font-size: 10pt;" class=""><br class=""></span></div><div class=""><span style="font-family: ArialMT; font-size: 10pt;" class="">Because there can be more than one hop </span></div><div class=""><span style="font-family: ArialMT; font-size: 10pt;" class=""><br class=""></span></div><div class=""><span style="font-family: ArialMT; font-size: 10pt;" class="">2 </span><span style="font-size: 10pt; font-family: CourierNewPSMT;" class="">ProxyCount </span><span style="font-size: 10pt; font-family: ArialMT;" class="">[Optional]</span><span style="font-size: 8pt; font-family: ArialMT;" class=""> </span><span style="font-size: 10pt; font-family: ArialMT;" class="">Specifies the number of proxying indirections permissible between the identity provider that receives</span></div><div class="page" title="Page 51"><div class="layoutArea"><div class="column"><ol start="2156" style="list-style-type: none" class=""><li class=""><p class=""><span style="font-size: 10pt; font-family: ArialMT;" class="">this </span><span style="font-size: 10pt; font-family: CourierNewPSMT;" class=""><AuthnRequest> </span><span style="font-size: 10pt; font-family: ArialMT;" class="">and the identity provider who ultimately authenticates the principal. A count of</span></p></li>
                                                <li class=""><p class=""><span style="font-size: 10.000000pt; font-family: 'ArialMT'" class="">zero permits no proxying, while omitting this attribute expresses no such restriction. </span></p><div class=""><br class=""></div><div class=""><br class=""></div>
                                                </li>
                                        </ol>
                                </div>
                        </div>
                </div><div class="">3 <span style="font-size: 10pt; font-family: CourierNewPSMT;" class=""><RequesterID> </span><span style="font-size: 10pt; font-family: ArialMT;" class="">[Zero or More]</span><div class="page" title="Page 52"><div class="layoutArea"><div class="column"><p class=""><span style="font-size: 10.000000pt; font-family: 'ArialMT'" class="">Identifies the set of requesting entities on whose behalf the requester is acting. Used to communicate
the chain of requesters when proxying occurs, as described in Section 3.4.1.5. See Section 8.3.6 for a
description of entity identifiers. </span></p><div class=""><br class=""></div><div class="">This identifies the original requester to the IdP.</div><div class=""><br class=""></div><div class="">
                
        
        
                <div class="page" title="Page 28">
                        <div class="layoutArea">
                                <div class="column"><p class=""><span style="font-size: 10.000000pt; font-family: 'CourierNewPSMT'" class="">4 <AuthenticatingAuthority> </span><span style="font-size: 10.000000pt; font-family: 'ArialMT'" class="">[Zero or More]
</span></p><p class=""><span style="font-size: 10.000000pt; font-family: 'ArialMT'" class="">Zero or more unique identifiers of authentication authorities that were involved in the authentication of
the principal (not including the assertion issuer, who is presumed to have been involved without being
explicitly named here) </span></p>
                                </div>
                        </div>
                </div></div><div class="">This identifies the IdP/proxys involved to the RP</div><div class=""><br class=""></div><div class="">Now I have to admit that in the wild l have only seen IDPList used as a dingle element similar to domain_hint.   This is often used when you have a SP login triggered by a deep link that tells you the user is coming from some organization with a specific IdP in ah hub and spoke model.</div><div class=""><br class=""></div><div class="">I could live without proxy count if we limit domain_hint to one.</div><div class=""><br class=""></div><div class="">It is useful for auditing and policy if you have the option of documenting the hops an assertion takes in each direction.</div><div class=""><br class=""></div><div class="">Those I would probably prefer as arrays.  </div><div class=""><br class=""></div><div class="">This is a first cut at what I was thinking </div><div class=""><br class=""></div><div class="">domain_hint:  “<a href="https://idp.example" class="">https://idp.example</a>.com”<div class=""><span class="Apple-tab-span" style="white-space: pre;">                       </span>String, optional paramater sent by the client to a IdP proxy to indicate the idp that may be used to authenticate the user.</div><div class=""><span class="Apple-tab-span" style="white-space: pre;">                     </span><br class=""><div class=""><br class=""><div class="">The requester_sequence <span class="" style="font-family: verdana, charcoal, helvetica, arial, sans-serif; font-size: small; background-color: rgb(255, 255, 255);">Authentication Request parameter </span>indicates the authentication requesters prior to the client making the current request<span class="" style="background-color: rgb(255, 255, 255);"><font face="verdana, charcoal, helvetica, arial, sans-serif" size="2" class="">. It is represented as a JSON object containing an array of requester identifiers. </font></span><span class="" style="font-family: verdana, charcoal, helvetica, arial, sans-serif; font-size: small; background-color: rgb(255, 255, 255);">The </span><tt class="" style="color: rgb(0, 51, 102); font-family: 'Courier New', Courier, monospace; font-size: small;">requestor_sequence</tt><span class="" style="font-family: verdana, charcoal, helvetica, arial, sans-serif; font-size: small; background-color: rgb(255, 255, 255);"> parameter value is represented in an OAuth 2.0 request as UTF-8 encoded JSON (which ends up being form-urlencoded when passed as an OAuth parameter). When used in a Request Object value, per </span><a class="info" href="http://openid.net/specs/openid-connect-core-1_0.html#RequestObject" style="font-weight: bold; position: relative; z-index: 24; text-decoration: none; color: rgb(102, 51, 51); font-family: verdana, charcoal, helvetica, arial, sans-serif;">Section 6.1</a><span class="" style="font-family: verdana, charcoal, helvetica, arial, sans-serif; font-size: small; background-color: rgb(255, 255, 255);">, the JSON is used as the value of the </span><tt class="" style="color: rgb(0, 51, 102); font-family: 'Courier New', Courier, monospace; font-size: small;">requester_sequence</tt><span class="" style="font-family: verdana, charcoal, helvetica, arial, sans-serif; font-size: small; background-color: rgb(255, 255, 255);"> member.</span></div><div class=""><span class="" style="font-family: verdana, charcoal, helvetica, arial, sans-serif; font-size: small; background-color: rgb(255, 255, 255);"><br class=""></span></div><div class=""><br class=""></div><div class="">requester_sequence: [ “client1”, “prox1” ]</div><div class=""><span class="Apple-tab-span" style="white-space: pre;">                        </span>Array,  each hop must add an identifier for the requester of authentication to the array.   The array is an ordered list with element 0 always identifying the initial origin of the authentication request.</div><div class=""><span class="Apple-tab-span" style="white-space: pre;">                  </span>If there are two proxies then the second one would add the first proxy as element 1.</div><div class=""><br class=""></div><div class="">Connect Response</div><div class=""><br class=""></div><div class="">id_token member</div><div class="">“auth_sequence”: [“<a href="https://issuer.examle/" class="">https://issuer.examle</a>.com”]</div><div class="">                         Optional array of strings containing one or more unique identifiers for the entities involved in authenticating the subject (not including the token issuer who is presumed to have been involved without being explicitly named in this element).</div><div class=""><span class="Apple-tab-span" style="white-space: pre;">                       </span>Example, if the subject is authenticated by <a href="http://example.com/" class="">example.com</a> and the response passes back to the client via a proxy, that proxy would add a element to the id_token it is issuing containing an array with one element containing the iss value contained in <span class="Apple-tab-span" style="white-space: pre;">                        </span>the id_token it received.</div></div></div></div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">So I think one of them overlaps with what MS is doing.  How do people feel about the others.</div><div class=""><br class=""></div><div class="">The main problem is that without knowing who the originating client is the AS can’t tune defaults defaults for some things like max_age other than by grouping all the connections through the proxy together.  (The proxy could crate separate client_id for each downstream connection but that seems like overkill.)</div><div class=""><br class=""></div><div class="">John B</div><div class=""><br class=""></div>
                                </div>
                        </div>
                </div><div><blockquote type="cite" class=""><div class="">On May 21, 2015, at 6:45 PM, Mike Jones <<a href="mailto:Michael.Jones@microsoft.com" class="">Michael.Jones@microsoft.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="WordSection1" style="page: WordSection1; font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">Microsoft uses a parameter called domain_hint that allows the RP to specify a preferred IdP.  It’s modelled after the WS-Federation “whr” parameter.<o:p class=""></o:p></span></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">It’s mentioned at<span class="Apple-converted-space"> </span><a href="https://msdn.microsoft.com/en-us/library/azure/dn645542.aspx" style="color: purple; text-decoration: underline;" class="">https://msdn.microsoft.com/en-us/library/azure/dn645542.aspx</a>, where its description is:<o:p class=""></o:p></span></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span></div><table class="MsoNormalTable" border="0" cellspacing="3" cellpadding="0"><tbody class=""><tr class=""><td style="padding: 0.75pt;" class=""></td></tr><tr class=""><td style="padding: 0.75pt;" class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;" class=""><i class="">domain_hint</i><o:p class=""></o:p></div></td><td style="padding: 0.75pt;" class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;" class="">[Optional] Provides a hint about the tenant or domain that the user should use to sign in. The value of the<i class="">domain_hint</i><span class="Apple-converted-space"> </span>is a registered domain for the tenant. If the tenant is federated to an on-premises directory, AAD redirects to the specified tenant federation server.<o:p class=""></o:p></div></td></tr><tr class=""><td style="padding: 0.75pt;" class=""></td><td style="padding: 0.75pt;" class=""></td></tr></tbody></table><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">If that will do the job, maybe we can write a mini-spec to standardize that.<o:p class=""></o:p></span></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">                                                            -- Mike<o:p class=""></o:p></span></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span></div><div class=""><div style="border-style: solid none none; border-top-color: rgb(181, 196, 223); border-top-width: 1pt; padding: 3pt 0in 0in;" class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;" class=""><b class=""><span style="font-size: 10pt; font-family: Tahoma, sans-serif;" class="">From:</span></b><span style="font-size: 10pt; font-family: Tahoma, sans-serif;" class=""><span class="Apple-converted-space"> </span>Openid-specs-ab [<a href="mailto:openid-specs-ab-bounces@lists.openid.net" class="">mailto:openid-specs-ab-bounces@lists.openid.net</a>]<span class="Apple-converted-space"> </span><b class="">On Behalf Of<span class="Apple-converted-space"> </span></b>Edmund Jay<br class=""><b class="">Sent:</b><span class="Apple-converted-space"> </span>Monday, May 18, 2015 5:10 PM<br class=""><b class="">To:</b><span class="Apple-converted-space"> </span><a href="mailto:openid-specs-ab@lists.openid.net" class="">openid-specs-ab@lists.openid.net</a><br class=""><b class="">Subject:</b><span class="Apple-converted-space"> </span>[Openid-specs-ab] Spec call notes 18-May-15<o:p class=""></o:p></span></div></div></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;" class=""><o:p class=""> </o:p></div><div class=""><div id="yui_3_16_0_1_1431970961220_83256" class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class=""><span style="font-size: 10pt; font-family: 'Segoe UI', sans-serif;" class="">Spec call notes 18-May-15<o:p class=""></o:p></span></div></div><div id="yui_3_16_0_1_1431970961220_83256" class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class=""><span style="font-size: 10pt; font-family: 'Segoe UI', sans-serif;" class=""> </span></div></div><div id="yui_3_16_0_1_1431970961220_83256" class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class=""><span style="font-size: 10pt; font-family: 'Segoe UI', sans-serif;" class="">John Bradley<o:p class=""></o:p></span></div></div><div id="yui_3_16_0_1_1431970961220_83261" class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class=""><span style="font-size: 10pt; font-family: 'Segoe UI', sans-serif;" class="">Nat Sakimura<o:p class=""></o:p></span></div></div><div id="yui_3_16_0_1_1431970961220_83261" class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class=""><span style="font-size: 10pt; font-family: 'Segoe UI', sans-serif;" class="">Edmund Jay<o:p class=""></o:p></span></div></div><div id="yui_3_16_0_1_1431970961220_83198" class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class=""><span style="font-size: 10pt; font-family: Helvetica, sans-serif;" class=""> </span></div></div><div id="yui_3_16_0_1_1431970961220_83198" class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class=""><span style="font-size: 10pt; font-family: Helvetica, sans-serif;" class=""> </span></div></div><div id="yui_3_16_0_1_1431970961220_83198" class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class=""><span style="font-size: 10pt; font-family: Helvetica, sans-serif;" class="">- Discussed the need for extension spec for supporting proxies in enterprise scenarios.<o:p class=""></o:p></span></div></div><div id="yui_3_16_0_1_1431970961220_83198" class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class=""><span style="font-size: 10pt; font-family: Helvetica, sans-serif;" class=""> </span></div></div><div id="yui_3_16_0_1_1431970961220_83198" class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class=""><span style="font-size: 10pt; font-family: Helvetica, sans-serif;" class=""> </span></div></div><div id="yui_3_16_0_1_1431970961220_83198" class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class=""><span style="font-size: 10pt; font-family: Helvetica, sans-serif;" class="">- RP Certification Testing<o:p class=""></o:p></span></div></div><div id="yui_3_16_0_1_1431970961220_83198" class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class=""><span style="font-size: 10pt; font-family: Helvetica, sans-serif;" class=""> Nothing new has been discussed.<o:p class=""></o:p></span></div></div><div id="yui_3_16_0_1_1431970961220_83198" class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class=""><span style="font-size: 10pt; font-family: Helvetica, sans-serif;" class=""> </span></div></div><div id="yui_3_16_0_1_1431970961220_83198" class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class=""><span style="font-size: 10pt; font-family: Helvetica, sans-serif;" class=""> </span></div></div><div id="yui_3_16_0_1_1431970961220_83198" class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class=""><span style="font-size: 10pt; font-family: Helvetica, sans-serif;" class=""> </span></div></div><div id="yui_3_16_0_1_1431970961220_83198" class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class=""><span style="font-size: 10pt; font-family: Helvetica, sans-serif;" class=""> </span></div></div><div id="yui_3_16_0_1_1431970961220_83198" class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class=""><span style="font-size: 10pt; font-family: Helvetica, sans-serif;" class=""> </span></div></div><div id="yui_3_16_0_1_1431970961220_83198" class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class=""><span style="font-size: 10pt; font-family: Helvetica, sans-serif;" class=""> </span></div></div><div id="yui_3_16_0_1_1431970961220_83198" class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class=""><span style="font-size: 10pt; font-family: Helvetica, sans-serif;" class=""> </span></div></div><div id="yui_3_16_0_1_1431970961220_83198" class=""><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif; background-color: white;" class=""><span style="font-size: 10pt; font-family: Helvetica, sans-serif;" class=""> </span></div></div></div></div><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">_______________________________________________</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">Openid-specs-ab mailing list</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class=""><a href="mailto:Openid-specs-ab@lists.openid.net" class="">Openid-specs-ab@lists.openid.net</a></span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class=""><a href="http://lists.openid.net/mailman/listinfo/openid-specs-ab" class="">http://lists.openid.net/mailman/listinfo/openid-specs-ab</a></span></div></blockquote></div><br class=""></div></body></html>