<div dir="ltr"><div>For what it's worth, the back-channel stuff we did with logout flipped things around. The clients/RPs we were dealing with are stateless on the server side with respect to individual sessions, which renders a back-channel logout request from OP to RP pretty much useless. We have the OP maintain a lightweight session revocation list and RPs can poll it periodically at their discretion. I'm not suggesting that that model be standardized but just offering a data point on one approach that was taken.<br><br></div>I might humbly suggest that back-channel logout is not something that should be standardized at the SSO protocol layer like Connect. It strikes me as more of the kind of thing that'd be useful as the account level and more of a "shared signals" or deprovisiniong kind of thing.<br><div><br><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 24, 2015 at 5:18 AM, John Bradley <span dir="ltr"><<a href="mailto:ve7jtb@ve7jtb.com" target="_blank">ve7jtb@ve7jtb.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">I don’t actualy think we need a signed token in the front channel.<div><br></div><div>I am talking about using a signed token in the back channel, but that is quite different, as all of the session information needs to be derived from the token as the RP has no session cooke.</div><div><br></div><div>In the front channel there are two issues.</div><div><br></div><div>1 what account to sign out if there is more than one logged in from the IdP</div><div>2 is this from the IdP or a cross site request forgery.</div><div><br></div><div>1 could be solved by including the subject or a session identifier.</div><div>2 The sid alone should be sufficient to stop a XSRF unless the id_token has leaked.</div><div><br></div><div>If you send the sid then you probably don’t need to send the sub. (That is where I thought we were going)</div><div><br></div><div>I think trying to OAuth protect  the clients endpoint with a bearer token might be an advanced option, but that would need to be in a query parameter to be sent from a image tag.</div><div>Is setting up a way for clients to provision a AS with a AT per subject worth while.   If it is one AT for all subjects then it leaks right away and is no real good to prevent xsrf.</div><div><br></div><div>Modifying the authorization request to include a token is possible, but I am not sure how necessary.</div><div><br></div><div>John B.</div><div><br><div><blockquote type="cite"><div><div class="h5"><div>On Feb 24, 2015, at 1:38 AM, Torsten Lodderstedt <<a href="mailto:torsten@lodderstedt.net" target="_blank">torsten@lodderstedt.net</a>> wrote:</div><br></div></div><div><div style="word-wrap:break-word"><div><div class="h5"> I don't understand why you want to invite a new token concept for the logout. First there was a sid. The sid alone is not enough (if the same value is used among RPs in the same session), therefore you need to introduce an audience and a digital signature. This is getting more complex with every iteration.<br>
<br>
>From a conceptual perspective, the challenge we are facing is the OP wants to send a request to a protected resource (logout endpoint at the RP). Sounds familiar? Yes, because this is classic OAuth with the OP taking the role of the client. <br>
<br>
I would therefore suggest to let the RP register the token it wants to get its logout endpoint invoked with. One could also use RFC 6750 mechanisms (or even pop) to carry the token in the actual logout request. The advantage of this design: this token is opaque to the OP. There is no need to specify it. The token design and how to identify the respective session at the RP is at the RP's discretion. It could just be a reference to its session database. It also could be a JWT.<br>
<br>
kind regards,<br>
Torsten.<br><br></div></div><div class="gmail_quote"><div><div class="h5">Am 24. Februar 2015 03:45:34 MEZ, schrieb John Bradley <<a href="mailto:ve7jtb@ve7jtb.com" target="_blank">ve7jtb@ve7jtb.com</a>>:</div></div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div class="h5">
My point was not that audience was not needed, but rather that it could be a different audience to differentiate between the login and sign out tokens.</div></div><div><div><div class="h5">That WAY the sign out tokens would not be accepted as login tokens.   eg the logout_uri rather than the client_id as a posable example.<div><br></div><div>John B.</div></div></div><div><br><div><div><blockquote type="cite"><div><div class="h5"><div>On Feb 23, 2015, at 6:32 PM, Mike Jones <<a href="mailto:Michael.Jones@microsoft.com" target="_blank">Michael.Jones@microsoft.com</a>> wrote:</div><br></div></div><div><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><div><div class="h5"><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">Spec call notes 23-Feb-15<div><br></div></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><div> <br></div></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">Nat Sakimura<div><br></div></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">Mike Jones<div><br></div></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">Brian Campbell<div><br></div></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">Edmund Jay<div><br></div></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">John Bradley<div><br></div></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><div> <br></div></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">Agenda<div><br></div></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">               Use of Pragma: no-cache in Form Post Response Mode<div><br></div></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">               Logout<div><br></div></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">               Certification<div><br></div></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><div> <br></div></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">Use of Pragma: no-cache in Form Post Response Mode<div><br></div></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">               Brian believes the only change needed is to remove the "Pragma: no-cache"<div><br></div></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">               He believes that "Cache-Control: no-store" also performs a "Cache-Control: no-cache"<div><br></div></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">                              Mike will confirm this<div><br></div></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">               Then Mike will make the change and update the blog post<div><br></div></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">               Later in the call, Brian pointed out that we should have normative text about not caching the result<div><br></div></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">                              He will propose a sentence to add<div><br></div></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><div> <br></div></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">Logout<div><br></div></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">               When using the Session ID on the front channel, you're only picking from among those that are live in the browser<div><br></div></div></div></div><span class=""><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">              
An alternative to putting "sid" and "iss" as query parameters is to them in a JWT<div><br></div></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">                              But it should not be a legal ID Token, so perhaps shouldn't have a subject<div><br></div></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">                              John pointed out that we should at least consider whether an audience would be needed<div><br></div></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">               John will be working on a back channel logout spec also using the Session ID<div><br></div></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">                              We should try to have these be as close to one another as reasonably possible<div><br></div></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">                              He's on his way to Barcelona for MWC, so this may not happen for a bit<div><br></div></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">               People agreed that the differentiation between image and iframe GETs must happen at registration time<div><br></div></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">               The query parameters still need to be reviewed<div><br></div></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif"><div> <br></div></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">Certification<div><br></div></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">               Roland now has testing up on the Symantec
hosts<div><br></div></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">               A team member of Roland's created an OP self-registration page at<span> </span><a href="https://op.certification.openid.net:60000/" style="color:purple;text-decoration:underline" target="_blank">https://op.certification.openid.net:60000/</a><div><br></div></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">                              When you select dynamic configuration, the answer to the first question is the issuer path (this isn't obvious)<div><br></div></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">                              Mike will file some bugs on clarifying how the tool works<div><br></div></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">               People doing testing should migrate over to the official server<div><br></div></div><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">               This also means that Roland can now also put up the RP tests<div><br></div></div></span><span class=""><div style="margin:0in 0in 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif">              
Breno should be getting back to us within a week or so on how long it will take them to create a conforming implementation<div><br></div></div></span></div><span class=""><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">_______________________________________________</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">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;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><a href="mailto:Openid-specs-ab@lists.openid.net" style="color:purple;text-decoration:underline;font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" target="_blank">Openid-specs-ab@lists.openid.net</a><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><a href="http://lists.openid.net/mailman/listinfo/openid-specs-ab" style="color:purple;text-decoration:underline;font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" target="_blank">http://lists.openid.net/mailman/listinfo/openid-specs-ab</a></span></div></blockquote></div><br></div></div></div><span class=""><div style="margin-top:2.5em;margin-bottom:1em;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:rgb(0,0,0)"><br></div><pre><hr><br>Openid-specs-ab mailing list<br><a href="mailto:Openid-specs-ab@lists.openid.net" target="_blank">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></pre></span></blockquote></div><span class=""><br>
-- <br>
Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.</span></div></div></blockquote></div><br></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></div>