<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
<div>Linus, Justin,</div>
<div><br>
</div>
<div>Thanks for your answers. It matches my thoughts and I agree, I believe almost all IDP use cookies.</div>
<div><br>
</div>
<div>Regards,</div>
<div>Sascha</div>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<div style="font-family:Calibri; font-size:11pt; text-align:left; color:black; BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<span style="font-weight:bold">From: </span>Justin Richer <<a href="mailto:jricher@mit.edu">jricher@mit.edu</a>><br>
<span style="font-weight:bold">Date: </span>Wednesday, September 6, 2017 at 10:00 AM<br>
<span style="font-weight:bold">To: </span>Sascha Preibisch <<a href="mailto:sascha.preibisch@ca.com">sascha.preibisch@ca.com</a>><br>
<span style="font-weight:bold">Cc: </span>"<a href="mailto:openid-specs-ab@lists.openid.net">openid-specs-ab@lists.openid.net</a> Ab" <<a href="mailto:openid-specs-ab@lists.openid.net">openid-specs-ab@lists.openid.net</a>><br>
<span style="font-weight:bold">Subject: </span>Re: [Openid-specs-ab] prompt=none, how to?<br>
</div>
<div><br>
</div>
<div>
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
We use session cookies. Specifically, a random value in a session cookie tied to a server-side data structure representing the current session user. The “prompt” is all about the current session at the IdP, which is why the ID token is only a hint. Remember,
 the ID token is just a message from the IdP to the RP saying “log this user in”, it’s not a session indicator itself. What it allows the RP to do, in this case, is say “here’s who I think was logged in last time”. So in that case the IdP can say “the ID token
 is for user X but the current session is for user Y so I probably shouldn’t treat them the same even though Y has a valid session”. 
<div class=""><br class="">
</div>
<div class="">But in the absence of that hint? The RP is saying “take whoever’s currently logged in”. The spec doesn’t say anything about cookies because that’s outside the protocol — it’s not part of what gets communicated between the IdP and the RP. Doesn’t
 mean you can’t use them, and in fact that’s how I’d imagine just about every IdP out there works.</div>
<div class=""><br class="">
</div>
<div class=""> — Justin</div>
<div class=""><br class="">
<div>
<blockquote type="cite" class="">
<div class="">On Sep 6, 2017, at 11:26 AM, Preibisch, Sascha H via Openid-specs-ab <<a href="mailto:openid-specs-ab@lists.openid.net" class="">openid-specs-ab@lists.openid.net</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; font-size: 14px; font-family: Calibri, sans-serif;" class="">
<div class="">Hi all!</div>
<div class=""><br class="">
</div>
<div class="">I would like to ask how others have implemented "prompt=none, user logged in".</div>
<div class=""><br class="">
</div>
<div class="">The spec. says that no prompt should be displayed if the user is logged in. It also says that id_<span style="font-style: italic;" class="">token_</span>hint is optional.</div>
<div class=""><br class="">
</div>
<div class="">I am interested in knowing how others identify a logged in user in the scenario "prompt=none, no id_<span style="font-style: italic;" class="">token_</span>hint".</div>
<div class=""><br class="">
</div>
<div class="">If there is no indicator of who the user is, how shall I not fail? The spec. does not say anything about other potential identifiers such as cookies.</div>
<div class=""><br class="">
</div>
<div class="">Thanks in advance,</div>
<div class="">Sascha</div>
<div class=""><br class="">
</div>
<span id="OLK_SRC_BODY_SECTION" class="">
<div style="font-family: Calibri; font-size: 11pt; text-align: left; border-width: 1pt medium medium; border-style: solid none none; padding: 3pt 0in 0in; border-top-color: rgb(181, 196, 223);" class="">
<span style="font-weight:bold" class="">From: </span>Openid-specs-ab <<a href="mailto:openid-specs-ab-bounces@lists.openid.net" class="">openid-specs-ab-bounces@lists.openid.net</a>> on behalf of Nat Sakimura via Openid-specs-ab <<a href="mailto:openid-specs-ab@lists.openid.net" class="">openid-specs-ab@lists.openid.net</a>><br class="">
<span style="font-weight:bold" class="">Reply-To: </span>Nat Sakimura <<a href="mailto:sakimura@gmail.com" class="">sakimura@gmail.com</a>><br class="">
<span style="font-weight:bold" class="">Date: </span>Thursday, August 24, 2017 at 10:07 AM<br class="">
<span style="font-weight:bold" class="">To: </span>"matake, nov" <<a href="mailto:nov@matake.jp" class="">nov@matake.jp</a>>, Iain McGinniss <<a href="mailto:iainmcgin@google.com" class="">iainmcgin@google.com</a>><br class="">
<span style="font-weight:bold" class="">Cc: </span>"<a href="mailto:openid-specs-ab@lists.openid.net" class="">openid-specs-ab@lists.openid.net</a>" <<a href="mailto:openid-specs-ab@lists.openid.net" class="">openid-specs-ab@lists.openid.net</a>><br class="">
<span style="font-weight:bold" class="">Subject: </span>Re: [Openid-specs-ab] Single Sign-On is dead on iOS 11<br class="">
</div>
<div class=""><br class="">
</div>
<div class="">
<div class=""><i class="">CAUTION: This email originated from outside of CA. Do not click links or open attachments unless you recognize the sender and know the content is safe.</i><br class="">
<br class="">
<div class="">
<div dir="ltr" class="">Hmmm. Not so good... </div>
<br class="">
<div class="gmail_quote">
<div dir="ltr" class="">On Wed, Aug 23, 2017 at 4:38 PM matake, nov via Openid-specs-ab <<a href="mailto:openid-specs-ab@lists.openid.net" class="">openid-specs-ab@lists.openid.net</a>> wrote:<br class="">
</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr" class="">
<div class="gmail_extra">Hi,</div>
<div class="gmail_extra"><br class="">
</div>
<div class="gmail_extra">FYI:</div>
<div class="gmail_extra">I've confirmed iOS11's Intelligent Tracking Prevention treated IdP domain as "having tracking capability" and didn't send IdP cookie in iframe after 24h.</div>
<div class="gmail_extra">So that prompt=none w/ hidden iframe only works within 24 hours since last login action at IdP.</div>
<div class="gmail_extra"><br class="">
</div>
<div class="gmail_extra">I'm still not unsure about the local storage behaviour though.</div>
</div>
<div dir="ltr" class="">
<div class="gmail_extra"><br class="">
<div class="gmail_quote">2017-06-14 6:57 GMT+09:00 Iain McGinniss via Openid-specs-ab
<span dir="ltr" class=""><<a href="mailto:openid-specs-ab@lists.openid.net" target="_blank" class="">openid-specs-ab@lists.openid.net</a>></span>:<br class="">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr" class="">Each SFSafariViewController (SFSVC) instance is essentially a new browser, with the following consequences:
<div class=""><br class="">
</div>
<div class="">1. If the user signs in to the OP in Safari, this signed in state is not visible from any SFSVC instance.</div>
<div class="">2. If the user signs in via an SFSVC, this signed in state also cannot be synchronized to Safari.</div>
<div class=""><br class="">
</div>
<div class="">As a result, there's no shared OP session between any apps; the user must re-authenticate with the OP within every app that uses it.</div>
<div class=""><br class="">
</div>
<div class="">Furthermore, the <a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__webkit.org_blog_7675_intelligent-2Dtracking-2Dprevention_&d=DwMFaQ&c=_hRq4mqlUmqpqlyQ5hkoDXIVh6I6pxfkkNxQuL0p-Z0&r=BjnOFeRZMwPBZLm00SguJm4i4lt0O13oAeF-9EZheL8&m=gmVLkU1x472dWfjcrPpmlYYRhi2H1M38Wc-tCObfmOs&s=aSJLtA85Ii9LbBBeDOTPZR7Sk5RbuN1DfzfgBwXx64U&e=" target="_blank" class="">
Intelligent Tracking Prevention</a> <i class="">may</i> flag the OP domain as a capable of tracking the user, at which point any cookie / local storage state associated with that domain is "redacted" if the user has not interacted with the OP domain in the
 last 24 hours. "Interaction" here specifically means loading a top-level page on that domain and clicking on something. It seems highly likely that *.<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__google.com&d=DwMFaQ&c=_hRq4mqlUmqpqlyQ5hkoDXIVh6I6pxfkkNxQuL0p-Z0&r=BjnOFeRZMwPBZLm00SguJm4i4lt0O13oAeF-9EZheL8&m=gmVLkU1x472dWfjcrPpmlYYRhi2H1M38Wc-tCObfmOs&s=5xTll74w4OsGyvG3cWOrHvhfuNRYY6Sfx1_dynyJ5do&e=" target="_blank" class="">google.com</a>
 is going to be marked as a tracking domain in Safari.</div>
<div class=""><br class="">
</div>
<div class="">So, if you do anything in iframes with your OP domains (we do at Google), your cookies are going to appear and disappear in a very unpredictable way. Session state is going to become very unreliable.</div>
<div class=""><br class="">
</div>
<div class="">I plan to give an impromptu short talk on these changes at CIS.</div>
<div class=""><br class="">
</div>
<div class="">Iain</div>
<div class="">
<div class="gmail_extra"><br class="">
<div class="gmail_quote">
<div class="">
<div class="m_5302433768864463728m_5276761730482029652h5">On Tue, Jun 13, 2017 at 2:40 PM, rich levinson via Openid-specs-ab
<span dir="ltr" class=""><<a href="mailto:openid-specs-ab@lists.openid.net" target="_blank" class="">openid-specs-ab@lists.openid.net</a>></span> wrote:<br class="">
</div>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="">
<div class="m_5302433768864463728m_5276761730482029652h5">
<div text="#000000" bgcolor="#FFFFFF" class="">Hi Nat, et al,<br class="">
<br class="">
I am not sure I understand why this situation should cause anything to "break".<br class="">
<br class="">
Let me explain my view of this situation, in the context of general session mgmt,<br class="">
which is the following:<br class="">
<br class="">
In the "OpenID Connect Session Management 1.0" spec:<br class="">
    <a class="m_5302433768864463728m_5276761730482029652m_-4203361545569848634m_-1077663280331052625moz-txt-link-freetext" href="https://urldefense.proofpoint.com/v2/url?u=http-3A__openid.net_specs_openid-2Dconnect-2Dsession-2D1-5F0.html&d=DwMFaQ&c=_hRq4mqlUmqpqlyQ5hkoDXIVh6I6pxfkkNxQuL0p-Z0&r=BjnOFeRZMwPBZLm00SguJm4i4lt0O13oAeF-9EZheL8&m=gmVLkU1x472dWfjcrPpmlYYRhi2H1M38Wc-tCObfmOs&s=73BPppr9q5pU_qVB6q15KLaIcArgfNmaGUAazQv16vw&e=" target="_blank">
http://openid.net/specs/openid-connect-session-1_0.html</a><br class="">
 it says:<br class="">
<blockquote class="">
<pre class="">"In OpenID Connect, the session at the RP typically starts
 when the RP validates the End-User's ID Token.
  ...
When the OP supports session management, it MUST also return the Session State
 as an additional session_state parameter in the Authentication Response.
  ...
This parameter is: 
    session_state
     Session State.
     JSON [RFC7159] string that represents the End-User's login state at the OP.
     It MUST NOT contain the space (" ") character.
     This value is opaque to the RP.
     This is REQUIRED if session management is supported. 

The Session State value is initially calculated on the server."
</pre>
</blockquote>
This indicates that the OP has knowledge of the End-User's login state at the OP.<br class="">
However, this login state is independent of the "session at the RP", which is<br class="">
created when the client app (RP) rcv's the identity token which, in the protocol,<br class="">
is well after the End-User logged in at the OP.<br class="">
<br class="">
Later in the spec, section 5, it is also stated that:<br class="">
<blockquote class="">
<pre class="">"5.  RP-Initiated Logout
An RP can notify the OP that the End-User has logged out of the site and
 might want to log out of the OP as well. 
In this case, the RP, after having logged the End-User out of the RP,
 redirects the End-User's User Agent to the OP's logout endpoint URL.
This URL is normally obtained via the end_session_endpoint element
 of the OP's Discovery response or may be learned via other mechanisms."
</pre>
</blockquote>
This basically confirms the supposition above that the OP login and the RP session are<br class="">
effectively independent entities.<br class="">
<br class="">
Now, let's consider the case where a 2nd RP decides to start a session w the same End-User,<br class="">
presumably, a 2nd RP on the same device where the 1st RP established a session.<br class="">
<br class="">
When the 2nd RP sends the Authentication Request to the OP's /authorize endpoint,<br class="">
it seems obvious to me that the OP knows the End-User is logged in and would have<br class="">
no problem issuing a 2nd id-token to the 2nd RP, w/o re-logging in the End-User.<br class="">
<br class="">
Assuming this is the case, then I do not understand why ios-11, by "siloing" the apps<br class="">
prevents the OP from issuing new id-tokens to each app, all under the original<br class="">
OP-login by the End-User.<br class="">
<br class="">
Am I missing something?<br class="">
<br class="">
  Thanks,<br class="">
  Rich<span class=""><br class="">
<br class="">
<br class="">
<br class="">
<br class="">
<div class="m_5302433768864463728m_5276761730482029652m_-4203361545569848634m_-1077663280331052625moz-cite-prefix">
On 6/12/2017 8:04 PM, Nat Sakimura via Openid-specs-ab wrote:<br class="">
</div>
</span>
<blockquote type="cite" class=""><span class="">
<div dir="ltr" class="">Maybe we can call upon the privacy community as well raising the voice that this is very bad for privacy. 
<div class="">I wonder what is the privacy enhancement they have in mind. </div>
</div>
<br class="">
<div class="gmail_quote">
<div dir="ltr" class="">On Fri, Jun 9, 2017 at 2:34 AM 'Iain McGinniss' via OIDF Account Chooser list <<a href="mailto:oidf-account-chooser-list@googlegroups.com" target="_blank" class="">oidf-account-chooser-list@googlegroups.com</a>> wrote:<br class="">
</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr" class="">Hello all,
<div class=""><br class="">
</div>
<div class="">Just to bring this to your attention: Apple has essentially killed single sign-on for native apps in iOS 11. Changes made to SFSafariViewController (used by AppAuth, and the recommended mechanism for federated login by Apple) now mean that browser
 state is partitioned per app, so there is no way for an existing authentication in the browser to be reused by an app.</div>
<div class=""><br class="">
</div>
<div class="">This fundamentally breaks an important part of OpenID Connect - users will now need to re-authenticate with their IDP in every app that they use. There is still time to provide feedback to Apple on this change, though they have been discussing
 this change in terms of "enhancing privacy" and I'd be very surprised if they change tack now.</div>
<div class=""><br class="">
</div>
<div class="">Iain</div>
</div>
-- <br class="">
<br class="">
--- <br class="">
You received this message because you are subscribed to the Google Groups "OIDF Account Chooser list" group.<br class="">
To unsubscribe from this group and stop receiving emails from it, send an email to
<a href="mailto:oidf-account-chooser-list+unsubscribe@googlegroups.com" target="_blank" class="">
oidf-account-chooser-list+unsubscribe@googlegroups.com</a>.<br class="">
For more options, visit <a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__groups.google.com_d_optout&d=DwMFaQ&c=RoP1YumCXCgaWHvlZYR8PQcxBKCX5YTpkKY057SbK10&r=nNxUKneeZofWTyt9qclOUTeEg29NkEkknFyDupoNiiA&m=z6H6MqLIToKnju5TQdKnYOa6pGD9lyMxhwLO-mdMgac&s=XtvXRyjw8QvajPlQD8M0d6xQJnp_3jK9zv_hDOXEOXY&e=" target="_blank" class="">
https://groups.google.com/d/optout</a>.<br class="">
</blockquote>
</div>
<div dir="ltr" class="">-- <br class="">
</div>
<div data-smartmail="gmail_signature" class="">
<p dir="ltr" class="">Nat Sakimura</p>
<p dir="ltr" class="">Chairman of the Board, OpenID Foundation</p>
</div>
<br class="">
<fieldset class="m_5302433768864463728m_5276761730482029652m_-4203361545569848634m_-1077663280331052625mimeAttachmentHeader">
</fieldset> <br class="">
</span>
<pre class="">_______________________________________________
Openid-specs-ab mailing list
<a class="m_5302433768864463728m_5276761730482029652m_-4203361545569848634m_-1077663280331052625moz-txt-link-abbreviated" href="mailto:Openid-specs-ab@lists.openid.net" target="_blank">Openid-specs-ab@lists.openid.net</a><a class="m_5302433768864463728m_5276761730482029652m_-4203361545569848634m_-1077663280331052625moz-txt-link-freetext" href="https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.openid.net_mailman_listinfo_openid-2Dspecs-2Dab&d=DwICAg&c=RoP1YumCXCgaWHvlZYR8PQcxBKCX5YTpkKY057SbK10&r=nNxUKneeZofWTyt9qclOUTeEg29NkEkknFyDupoNiiA&m=z6H6MqLIToKnju5TQdKnYOa6pGD9lyMxhwLO-mdMgac&s=tYftjD7QNKeiH9oZIyspoUu_QX44iHnFoAzyiuQapmg&e=" target="_blank">https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.openid.net_mailman_listinfo_openid-2Dspecs-2Dab&d=DwICAg&c=RoP1YumCXCgaWHvlZYR8PQcxBKCX5YTpkKY057SbK10&r=nNxUKneeZofWTyt9qclOUTeEg29NkEkknFyDupoNiiA&m=z6H6MqLIToKnju5TQdKnYOa6pGD9lyMxhwLO-mdMgac&s=tYftjD7QNKeiH9oZIyspoUu_QX44iHnFoAzyiuQapmg&e=</a> 
</pre>
</blockquote>
<br class="">
</div>
<br class="">
_______________________________________________<br class="">
Openid-specs-ab mailing list<br class="">
<a href="mailto:Openid-specs-ab@lists.openid.net" target="_blank" class="">Openid-specs-ab@lists.openid.net</a><br class="">
</div>
</div>
<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.openid.net_mailman_listinfo_openid-2Dspecs-2Dab&d=DwMFaQ&c=_hRq4mqlUmqpqlyQ5hkoDXIVh6I6pxfkkNxQuL0p-Z0&r=BjnOFeRZMwPBZLm00SguJm4i4lt0O13oAeF-9EZheL8&m=gmVLkU1x472dWfjcrPpmlYYRhi2H1M38Wc-tCObfmOs&s=bJlHM3jwO4qLt5XPXbDq0dO8kRI4qmfc_x7iu_T0DsQ&e=" rel="noreferrer" target="_blank" class="">http://lists.openid.net/mailman/listinfo/openid-specs-ab</a><br class="">
<br class="">
</blockquote>
</div>
<br class="">
</div>
</div>
</div>
<br class="">
_______________________________________________<br class="">
Openid-specs-ab mailing list<br class="">
<a href="mailto:Openid-specs-ab@lists.openid.net" target="_blank" class="">Openid-specs-ab@lists.openid.net</a><br class="">
<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.openid.net_mailman_listinfo_openid-2Dspecs-2Dab&d=DwMFaQ&c=_hRq4mqlUmqpqlyQ5hkoDXIVh6I6pxfkkNxQuL0p-Z0&r=BjnOFeRZMwPBZLm00SguJm4i4lt0O13oAeF-9EZheL8&m=gmVLkU1x472dWfjcrPpmlYYRhi2H1M38Wc-tCObfmOs&s=bJlHM3jwO4qLt5XPXbDq0dO8kRI4qmfc_x7iu_T0DsQ&e=" rel="noreferrer" target="_blank" class="">http://lists.openid.net/mailman/listinfo/openid-specs-ab</a><br class="">
<br class="">
</blockquote>
</div>
<br class="">
</div>
</div>
_______________________________________________<br class="">
Openid-specs-ab mailing list<br class="">
<a href="mailto:Openid-specs-ab@lists.openid.net" target="_blank" class="">Openid-specs-ab@lists.openid.net</a><br class="">
<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.openid.net_mailman_listinfo_openid-2Dspecs-2Dab&d=DwMFaQ&c=_hRq4mqlUmqpqlyQ5hkoDXIVh6I6pxfkkNxQuL0p-Z0&r=BjnOFeRZMwPBZLm00SguJm4i4lt0O13oAeF-9EZheL8&m=gmVLkU1x472dWfjcrPpmlYYRhi2H1M38Wc-tCObfmOs&s=bJlHM3jwO4qLt5XPXbDq0dO8kRI4qmfc_x7iu_T0DsQ&e=" rel="noreferrer" target="_blank" class="">http://lists.openid.net/mailman/listinfo/openid-specs-ab</a><br class="">
</blockquote>
</div>
<div dir="ltr" class="">-- <br class="">
</div>
<div class="gmail_signature" data-smartmail="gmail_signature">
<p dir="ltr" class="">Nat Sakimura</p>
<p dir="ltr" class="">Chairman of the Board, OpenID Foundation</p>
</div>
</div>
</div>
</div>
</span></div>
_______________________________________________<br class="">
Openid-specs-ab mailing list<br class="">
<a href="mailto:Openid-specs-ab@lists.openid.net" class="">Openid-specs-ab@lists.openid.net</a><br class="">
<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.openid.net_mailman_listinfo_openid-2Dspecs-2Dab&d=DwQFaQ&c=_hRq4mqlUmqpqlyQ5hkoDXIVh6I6pxfkkNxQuL0p-Z0&r=BjnOFeRZMwPBZLm00SguJm4i4lt0O13oAeF-9EZheL8&m=oFfHcLZQ-idmKnUZVoXDmCkDEVCpD3Vr4mBhKFLg9FU&s=4jqrC1GfZTbLTRMWaIUZQBdM4K8_t-v8kJ4xoSZIC88&e=">http://lists.openid.net/mailman/listinfo/openid-specs-ab</a><br class="">
</div>
</blockquote>
</div>
<br class="">
</div>
</div>
</div>
</span>
</body>
</html>