From nobody Thu Jul 14 00:31:38 2022
Return-Path: <mario.loffredo@iit.cnr.it>
X-Original-To: regext@ietfa.amsl.com
Delivered-To: regext@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1])
 by ietfa.amsl.com (Postfix) with ESMTP id 054F8C157B51
 for <regext@ietfa.amsl.com>; Thu, 14 Jul 2022 00:31:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.907
X-Spam-Level: 
X-Spam-Status: No, score=-6.907 tagged_above=-999 required=5
 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, NICE_REPLY_A=-0.001,
 RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_PASS=-0.001,
 T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001,
 URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001]
 autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194])
 by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 4Yjm6_h2_ELS for <regext@ietfa.amsl.com>;
 Thu, 14 Jul 2022 00:31:33 -0700 (PDT)
Received: from smtp.iit.cnr.it (mx4.iit.cnr.it [146.48.58.11])
 by ietfa.amsl.com (Postfix) with ESMTP id 5FF4DC14CF15
 for <regext@ietf.org>; Thu, 14 Jul 2022 00:31:28 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1])
 by smtp.iit.cnr.it (Postfix) with ESMTP id 34BF7B80816;
 Thu, 14 Jul 2022 09:31:22 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at mx4.iit.cnr.it
Received: from smtp.iit.cnr.it ([127.0.0.1])
 by localhost (mx4.iit.cnr.it [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id R-yc_YDQ2-pN; Thu, 14 Jul 2022 09:31:17 +0200 (CEST)
Received: from [192.12.193.108] (pc-loffredo.staff.nic.it [192.12.193.108])
 (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits))
 (No client certificate requested)
 by smtp.iit.cnr.it (Postfix) with ESMTPSA id E68F5B804B5;
 Thu, 14 Jul 2022 09:31:16 +0200 (CEST)
Content-Type: multipart/alternative;
 boundary="------------YeORo0C1BUAaugMi90iD0PTp"
Message-ID: <671352ca-d76d-e9b1-a3ae-2cfe9f6c64d7@iit.cnr.it>
Date: Thu, 14 Jul 2022 09:28:53 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
 Thunderbird/91.11.0
To: "Hollenbeck, Scott" <shollenbeck=40verisign.com@dmarc.ietf.org>,
 "Rwilhelm@PIR.org" <Rwilhelm@PIR.org>,
 "jgould=40verisign.com@dmarc.ietf.org"
 <jgould=40verisign.com@dmarc.ietf.org>, "regext@ietf.org" <regext@ietf.org>
References: <920FFD8E-B060-416D-B838-61010E51C50A@verisign.com>
 <08c3a4aecaeb467eac9152b880cc85ba@verisign.com>
 <BY5PR10MB41796EC637D479D88E38E9EEC9869@BY5PR10MB4179.namprd10.prod.outlook.com>
 <4c501148e5d84084bf9f92467e2747d5@verisign.com>
From: Mario Loffredo <mario.loffredo@iit.cnr.it>
In-Reply-To: <4c501148e5d84084bf9f92467e2747d5@verisign.com>
Archived-At: <https://mailarchive.ietf.org/arch/msg/regext/Mzo6CslEhzYI9KSZZM3LZXdiLZE>
Subject: Re: [regext] Login/Logout Processing (was RE: I-D Action:
 draft-ietf-regext-rdap-openid-15.txt)
X-BeenThere: regext@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Registration Protocols Extensions <regext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/regext>,
 <mailto:regext-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/regext/>
List-Post: <mailto:regext@ietf.org>
List-Help: <mailto:regext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/regext>,
 <mailto:regext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Jul 2022 07:31:38 -0000

This is a multi-part message in MIME format.
--------------YeORo0C1BUAaugMi90iD0PTp
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


Il 13/07/2022 16:41, Hollenbeck, Scott ha scritto:
>
> Notes below, Rick.
>
> *From:*Rick Wilhelm <Rwilhelm@PIR.org>
> *Sent:* Tuesday, July 12, 2022 4:05 PM
> *To:* Hollenbeck, Scott <shollenbeck@verisign.com>; 
> jgould=40verisign.com@dmarc.ietf.org; regext@ietf.org
> *Subject:* [EXTERNAL] Re: [regext] Login/Logout Processing (was RE: 
> I-D Action: draft-ietf-regext-rdap-openid-15.txt)
>
> *Caution:*This email originated from outside the organization. Do not 
> click links or open attachments unless you recognize the sender and 
> know the content is safe.
>
> Briefly,
>
> I think that (per a point that Mario made) the situations described 
> below are different and might merit consideration differently. 
> Specifically, these situations:
>
> > Let's look at the server-side options again for situations in which the server
> > receives a login followed by a login, or a logout where there's been no
> > login,
> > or a refresh without an active session, or a session status without 
> an active
> > session:
>
> - Login followed by login:  sounds similar to a point that Mario made 
> related to extending a session; seems fine, not an error
>
> */[SAH] Under certain circumstances, I now agree. A client might be 
> serving multiple end-users, and the server should be able to start 
> another session for a different user if it receives a second login 
> request without a cookie. If the server receives a login request with 
> a valid cookie, though (the server is seeing a second login request on 
> an active session), I’d prefer to keep command processing idempotent 
> such that the second login isn’t processed differently than the 
> original login was, and return an error since the request conflicts 
> with the current state of the server. That’ll make client processing 
> consistent./*
>
[ML] Just for clarifying what I've said.

Every login without a cookie is valid in general. The only exception to 
that is when it breaks some server policy, e.g. a server limits the 
number of concurrent sessions per user and this limit has been 
exceeeded. Forbidding always two subsequent login coming from the same 
user means that such a limit i set to 1.

Therefore, it is a special case of a constraint depending on server 
policy. For this reason, it's wrong to define it as specification 
constraint but i'm inclined to include it in the security consideration 
as a measure servers can implements to mitigate the risk of DoS or huge 
consumption of resources.

> - logout where there has been no login:  while it might be tempting to 
> want to give back an error, I would argue that this gives up security 
> info about the client.  Therefore, is there harm in just saying “ok” ??
>
> */[SAH] Please elaborate regarding “security info”. I’m inclined to 
> return an error because, again, the request conflicts with the current 
> state of the server. The client won’t be misled into thinking that it 
> ended a session when there was no session to begin with./*
>
[ML] I would like to give a further contribution that could be helpful.

When does it happen that a logout include an invalid cookie? There are 
at least two cases coming in my mind:

- the client sends a logout on a session that has been ended by the 
server (e.g. due to timeout or the session max time has been exceeded)

- the clients sends an unsuccessful login, then it doesn't check that 
the server hasn't returned a session cookie, and nevertheless it sends 
some requests and a final logout

In both cases, returning an error on the logout request can be helpful 
for the client:

- in the former, the client realizes that the session has been dropped

- in the latter, the client realizes that the session has not been 
started at all

For that being said, I agree with Scott about returning an error.


A consequence of the above scenarios is how a server can inform a user 
that he is submitting authenticated requests.

Think that a good practice could be to add an ad-hoc notice to the 
response informing the user that the related request have been submitted 
in the scope of a session (e.g. "This is a response to an authenticated 
request")


Best,

Mario

> - refresh without an active session:  should give back error
>
> - session status without an active session:  should give back error
>
> Thanks
>
> Rick
>
> *From: *Hollenbeck, Scott <shollenbeck@verisign.com>
> *Date: *Tuesday, July 12, 2022 at 9:17 AM
> *To: *jgould=40verisign.com@dmarc.ietf.org 
> <jgould=40verisign.com@dmarc.ietf.org>, Rick Wilhelm 
> <Rwilhelm@PIR.org>, regext@ietf.org <regext@ietf.org>
> *Subject: *[EXTERNAL] RE: [regext] Login/Logout Processing (was RE: 
> I-D Action: draft-ietf-regext-rdap-openid-15.txt)
>
> CAUTION: This email came from outside your organization. Don’t trust 
> emails, links, or attachments from senders that seem suspicious or you 
> are not expecting.
>
> Thanks, Jim. I'm working on -16 to address this topic and other recent 
> feedback. I'm planning to include text that describes error return 
> conditions.
>
> Scott
>
> > -----Original Message-----
> > From: Gould, James <jgould=40verisign.com@dmarc.ietf.org>
> > Sent: Tuesday, July 12, 2022 9:13 AM
> > To: Hollenbeck, Scott <shollenbeck@verisign.com>; Rwilhelm@PIR.org;
> > regext@ietf.org
> > Subject: [EXTERNAL] Re: [regext] Login/Logout Processing (was RE: I-D
> > Action: draft-ietf-regext-rdap-openid-15.txt)
> >
> > Caution: This email originated from outside the organization. Do not 
> click links
> > or open attachments unless you recognize the sender and know the content
> > is safe.
> >
> > Scott,
> >
> > My preference is option 1, where if the request conflicts with the 
> current
> > state it needs to result in an error.
> >
> > --
> >
> > JG
> >
> >
> >
> > James Gould
> > Fellow Engineer
> > jgould@Verisign.com <applewebdata://13890C55-AAE8-4BF3-A6CE-
> > B4BA42740803/jgould@Verisign.com>
> >
> > 703-948-3271
> > 12061 Bluemont Way
> > Reston, VA 20190
> >
> > Verisign.com <http://secure-web.cisco.com/146IYbLb06o7EQ5y- 
> <https://secure-web.cisco.com/14tl_My5ZME5EWUyAX5a7wWHLqYU5eMXkGAJG3kWsISx8PHh1liKD7ofsNq9qr59NAKu3-xshnpp-LDNozsB7tWkGqsyc1BsK6ABNp9qgUH8I2SKGdYCy4WUhmiLVSGvuVH8QqMlnFkMAvd-xHlUM0GOyUB2fcp4OoDQs0SfGknwIrwlYg0Ef0EI96IzjnOCgXJnfvFxNLmUeg1p5f6WVyudP1hcjvqNSA_wIWYcGcZkqxj56CR5-E_Ntq2aS_1Q0/https%3A%2F%2Fprotect-us.mimecast.com%2Fs%2FKdwUCOYzm8CAvABCvFYvF%3Fdomain%3Dsecure-web.cisco.com>
> > S9CI7Wv51aAaxl8hFAuOBaHou3sDkfQPFMQu6BUoW4k5ofYC5YtOj6XXRCKD
> > HYzan_NZGxdaN0YSvV0pwQb7R9i9kzQj1h9R05Pagm54-
> > 27p6uMqOMzoZGv2vinpZe2J8m4PKqdSLdJjiCepHPZ1JM1mtuI50NVmuZ8vRF
> > i_0YBy7IEEjGceS0HpXLfup5UC4X63esKGLab9WHmN-
> > OZdrNHmUQpEtHd1kkwxdbMiJ2nTpenX/http%3A%2F%2Fverisigninc.com%2
> > F>
> >
> > On 7/7/22, 11:02 AM, "regext on behalf of Hollenbeck, Scott" <regext-
> > bounces@ietf.org on behalf of shollenbeck=40verisign.com@dmarc.ietf.org>
> > wrote:
> >
> >
> > Thanks, Rick. Trimming things up a bit and changing the subject
> > appropriately...
> >
> > >>> In the last sentence: Is the client required to wait until the 
> access
> > >>> token has
> > >>> expired before submitting the new login request? Or can it send
> > logout
> > >>> and
> > >>> login back-to-back? (Or even just a login command while currently
> > logged
> > >>> in?)
> >
> > >> [SAH] Let's talk about this. What's appropriate behavior? IF the 
> server
> > >> gets a
> > >> "login" during an active session, it can either ignore the second 
> "login",
> > >> or it
> > >> can return an error. Similarly, it the server gets a "logout" 
> when there's
> > >> no
> > >> active session, it can either ignore the "logout" or return an 
> error. I'm
> > >> inclined to return an error to explicitly note that the submitted
> > >> query/command
> > >> wasn't processed as requested.
> >
> > > [RW] First off, I will certainly defer to those with more 
> implementation in
> > > this
> > > realm. However, based on my experience as a user, I would expect a
> > login
> > > that
> > > happens during an active session to "just work" and override the
> > previous
> > > active
> > > session. This could happen when I have an active session at the server
> > but
> > > the
> > > client browser (with the session) crashes or is otherwise 
> inaccessible.
> > > This
> > > seems better than the alternative: If the new login request is 
> refused,
> > > then
> > > the user is (essentially) locked out until the session timeout value
> > > expires.
> > > Related, if the server gets a "logout" when there is no active 
> session, I
> > > think
> > > that it should ignore the "logout" (rather than returning an 
> error). The
> > > thinking being that returning an error is at best useless and at 
> worst could
> > > be
> > > an information leak (aka security risk).
> >
> > The document currently describes a session/refresh path segment to
> > perform the
> > kind of "override" behavior described above. Having a "login 
> followed by a
> > login" do the same thing seems counter-intuitive. My own experience with
> > server-side session management is that there is no lockout. If the 
> client
> > sends the right HTTP cookie, and the session is still active, there 
> won't be a
> > problem. Another login should be possible if the "old" session gets
> > corrupted.
> >
> > Let's look at the server-side options again for situations in which 
> the server
> > receives a login followed by a login, or a logout where there's been no
> > login,
> > or a refresh without an active session, or a session status without 
> an active
> > session:
> >
> > 1. Return an error. HTTP includes a 409 (Conflict) response that can be
> > returned if a received request conflicts with the current state of 
> the server.
> >
> > 2. Accept the request and ignore it. I'm not sure what an 
> appropriate HTTP
> > response code would be for this situation.
> >
> > 3. Accept the request and do "something".
> >
> > Option 1 can be done consistently for all the above request sequences.
> > Option
> > 2 seems like it could mislead the client into thinking that 
> something has
> > happened unless there is, in fact, an appropriate HTTP response code
> > available
> > to describe a no-op (I couldn't find one). Option 3 might be doable 
> if we
> > can
> > figure out what the "somethings" are, like processing a second login
> > received
> > while a session is active, but the other command sequences present
> > problems.
> > As you described above, a logout received without an active session is
> > processed differently than the "login followed by a login" 
> situation. Is that
> > really the best course of action? I think consistent behavior would be
> > preferred.
> >
> > Scott
> >
> > _______________________________________________
> > regext mailing list
> > regext@ietf.org
> > https://secure-
> > web.cisco.com/1zzMrKkgYlj9VhlxPYw6YLgXo4UAztsC_b_SIIxy0OJCV9U2y757
> > cdfeXR-
> > TsC4CBsm4x0Yza6BzHsVVgxL47gZOr0EEg3eYwSmzQahgfdLx6MCjcvGofpNEU
> > HHZt2Y9yHuOqVA2iKKNDFe4kYtLZHy4rnHFrCuG4pBqHTT16_dC9eQWYrcA7F
> > A4k25iCZW0YD3jfVPuhbDXOJoN5T2R71VL27lBZvgz67YLjIgfoeMRu8B5U9-
> > yu2qyTAFnQ2bvd/https%3A%2F%2Fwww.ietf.org%2Fmailman%2Flistinfo%2
> > Fregext
> >
>
>
> _______________________________________________
> regext mailing list
> regext@ietf.org
> https://www.ietf.org/mailman/listinfo/regext

-- 
Dr. Mario Loffredo
Technological Unit “Digital Innovation”
Institute of Informatics and Telematics (IIT)
National Research Council (CNR)
via G. Moruzzi 1, I-56124 PISA, Italy
Phone: +39.0503153497
Web:http://www.iit.cnr.it/mario.loffredo

--------------YeORo0C1BUAaugMi90iD0PTp
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">Il 13/07/2022 16:41, Hollenbeck, Scott
      ha scritto:<br>
    </div>
    <blockquote type="cite"
      cite="mid:4c501148e5d84084bf9f92467e2747d5@verisign.com">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <div class="WordSection1">
        <p class="MsoNormal"><span>Notes below, Rick.</span></p>
        <p class="MsoNormal"><span> </span></p>
        <div>
          <div>
            <div>
              <p class="MsoNormal"><b><span>From:</span></b><span> Rick
                  Wilhelm <a class="moz-txt-link-rfc2396E" href="mailto:Rwilhelm@PIR.org">&lt;Rwilhelm@PIR.org&gt;</a> <br>
                  <b>Sent:</b> Tuesday, July 12, 2022 4:05 PM<br>
                  <b>To:</b> Hollenbeck, Scott
                  <a class="moz-txt-link-rfc2396E" href="mailto:shollenbeck@verisign.com">&lt;shollenbeck@verisign.com&gt;</a>;
                  <a class="moz-txt-link-abbreviated" href="mailto:jgould=40verisign.com@dmarc.ietf.org">jgould=40verisign.com@dmarc.ietf.org</a>; <a class="moz-txt-link-abbreviated" href="mailto:regext@ietf.org">regext@ietf.org</a><br>
                  <b>Subject:</b> [EXTERNAL] Re: [regext] Login/Logout
                  Processing (was RE: I-D Action:
                  draft-ietf-regext-rdap-openid-15.txt)</span></p>
            </div>
          </div>
          <p class="MsoNormal"> </p>
          <table class="MsoNormalTable" width="1185">
            <tbody>
              <tr>
                <td width="1175">
                  <p><strong><span>Caution:</span></strong><span> </span><span>This
                      email originated from outside the organization. Do
                      not click links or open attachments unless you
                      recognize the sender and know the content is
                      safe. </span></p>
                </td>
              </tr>
            </tbody>
          </table>
          <p class="MsoNormal"><span>Briefly,</span><span></span></p>
          <p class="MsoNormal"><span> </span></p>
          <p class="MsoNormal"><span>I think that (per a point that
              Mario made) the situations described below are different
              and might merit consideration differently. Specifically,
              these situations:</span></p>
          <p class="MsoNormal"><span> </span></p>
          <p class="MsoNormal"><span>&gt; Let's look at the server-side
              options again for situations in which the server<br>
              &gt; receives a login followed by a login, or a logout
              where there's been no<br>
              &gt; login,<br>
              &gt; or a refresh without an active session, or a session
              status without an active<br>
              &gt; session:</span></p>
          <p class="MsoNormal"><span> </span></p>
          <p class="MsoNormal"><span>- Login followed by login:  sounds
              similar to a point that Mario made related to extending a
              session; seems fine, not an error</span></p>
          <p class="MsoNormal"><b><i><span>[SAH] Under certain
                  circumstances, I now agree. A client might be serving
                  multiple end-users, and the server should be able to
                  start another session for a different user if it
                  receives a second login request without a cookie. If
                  the server receives a login request with a valid
                  cookie, though (the server is seeing a second login
                  request on an active session), I’d prefer to keep
                  command processing idempotent such that the second
                  login isn’t processed differently than the original
                  login was, and return an error since the request
                  conflicts with the current state of the server.
                  That’ll make client processing consistent.</span></i></b></p>
        </div>
      </div>
    </blockquote>
    <p>[ML] Just for clarifying what I've said. <br>
    </p>
    <p>Every login without a cookie is valid in general. The only
      exception to that is when it breaks some server policy, e.g. a
      server limits the number of concurrent sessions per user and this
      limit has been exceeeded. Forbidding always two subsequent login
      coming from the same user means that such a limit i set to 1. <br>
    </p>
    <p>Therefore, it is a special case of a constraint depending on
      server policy. For this reason, it's wrong to define it as
      specification constraint but i'm inclined to include it in the
      security consideration as a measure servers can implements to
      mitigate the risk of DoS or huge consumption of resources.</p>
    <blockquote type="cite"
      cite="mid:4c501148e5d84084bf9f92467e2747d5@verisign.com">
      <div class="WordSection1">
        <div>
          <p class="MsoNormal"><span></span></p>
          <p class="MsoNormal"><span>- logout where there has been no
              login:  while it might be tempting to want to give back an
              error, I would argue that this gives up security info
              about the client.  Therefore, is there harm in just saying
              “ok” ??</span></p>
          <p class="MsoNormal"><b><i><span>[SAH] Please elaborate
                  regarding “security info”. I’m inclined to return an
                  error because, again, the request conflicts with the
                  current state of the server. The client won’t be
                  misled into thinking that it ended a session when
                  there was no session to begin with.</span></i></b><span></span></p>
        </div>
      </div>
    </blockquote>
    <p>[ML] I would like to give a further contribution that could be
      helpful. <br>
    </p>
    <p>When does it happen that a logout include an invalid cookie?
      There are at least two cases coming in my mind:</p>
    <p>- the client sends a logout on a session that has been ended by
      the server (e.g. due to timeout or the session max time has been
      exceeded)</p>
    <p>- the clients sends an unsuccessful login, then it doesn't check
      that the server hasn't returned a session cookie, and nevertheless
      it sends some requests and a final logout</p>
    <p>In both cases, returning an error on the logout request can be
      helpful for the client:</p>
    <p>- in the former, the client realizes that the session has been
      dropped</p>
    <p>- in the latter, the client realizes that the session has not
      been started at all</p>
    <p>For that being said, I agree with Scott about returning an error.</p>
    <p><br>
    </p>
    <p>A consequence of the above scenarios is how a server can inform a
      user that he is submitting authenticated requests.</p>
    <p>Think that a good practice could be to add an ad-hoc notice to
      the response informing the user that the related request have been
      submitted in the scope of a session (e.g. "This is a response to
      an authenticated request")<br>
    </p>
    <p><br>
    </p>
    <p>Best,</p>
    <p>Mario<br>
    </p>
    <blockquote type="cite"
      cite="mid:4c501148e5d84084bf9f92467e2747d5@verisign.com">
      <div class="WordSection1">
        <div>
          <p class="MsoNormal"><span>- refresh without an active
              session:  should give back error</span></p>
          <p class="MsoNormal"><span>- session status without an active
              session:  should give back error</span></p>
          <p class="MsoNormal"><span> </span></p>
          <p class="MsoNormal"><span>Thanks</span></p>
          <p class="MsoNormal"><span>Rick</span></p>
          <p class="MsoNormal"><span> </span></p>
          <p class="MsoNormal"><span> </span></p>
          <p class="MsoNormal"><span> </span></p>
          <p class="MsoNormal"><span> </span></p>
          <div>
            <p class="MsoNormal"><b><span>From: </span></b><span>Hollenbeck,
                Scott &lt;<a href="mailto:shollenbeck@verisign.com"
                  moz-do-not-send="true" class="moz-txt-link-freetext">shollenbeck@verisign.com</a>&gt;<br>
                <b>Date: </b>Tuesday, July 12, 2022 at 9:17 AM<br>
                <b>To: </b><a
                  href="mailto:jgould=40verisign.com@dmarc.ietf.org"
                  moz-do-not-send="true" class="moz-txt-link-freetext">jgould=40verisign.com@dmarc.ietf.org</a>
                &lt;<a
                  href="mailto:jgould=40verisign.com@dmarc.ietf.org"
                  moz-do-not-send="true" class="moz-txt-link-freetext">jgould=40verisign.com@dmarc.ietf.org</a>&gt;,
                Rick Wilhelm &lt;<a href="mailto:Rwilhelm@PIR.org"
                  moz-do-not-send="true" class="moz-txt-link-freetext">Rwilhelm@PIR.org</a>&gt;,
                <a href="mailto:regext@ietf.org" moz-do-not-send="true"
                  class="moz-txt-link-freetext">regext@ietf.org</a> &lt;<a
                  href="mailto:regext@ietf.org" moz-do-not-send="true"
                  class="moz-txt-link-freetext">regext@ietf.org</a>&gt;<br>
                <b>Subject: </b>[EXTERNAL] RE: [regext] Login/Logout
                Processing (was RE: I-D Action:
                draft-ietf-regext-rdap-openid-15.txt)</span></p>
          </div>
          <p class="MsoNormal"><span>CAUTION: This email came from
              outside your organization. Don’t trust emails, links, or
              attachments from senders that seem suspicious or you are
              not expecting.<br>
              <br>
              Thanks, Jim. I'm working on -16 to address this topic and
              other recent feedback. I'm planning to include text that
              describes error return conditions.<br>
              <br>
              Scott<br>
              <br>
              &gt; -----Original Message-----<br>
              &gt; From: Gould, James &lt;<a
                href="mailto:jgould=40verisign.com@dmarc.ietf.org"
                moz-do-not-send="true" class="moz-txt-link-freetext">jgould=40verisign.com@dmarc.ietf.org</a>&gt;<br>
              &gt; Sent: Tuesday, July 12, 2022 9:13 AM<br>
              &gt; To: Hollenbeck, Scott &lt;<a
                href="mailto:shollenbeck@verisign.com"
                moz-do-not-send="true" class="moz-txt-link-freetext">shollenbeck@verisign.com</a>&gt;;
              <a href="mailto:Rwilhelm@PIR.org" moz-do-not-send="true"
                class="moz-txt-link-freetext">Rwilhelm@PIR.org</a>;<br>
              &gt; <a href="mailto:regext@ietf.org"
                moz-do-not-send="true" class="moz-txt-link-freetext">regext@ietf.org</a><br>
              &gt; Subject: [EXTERNAL] Re: [regext] Login/Logout
              Processing (was RE: I-D<br>
              &gt; Action: draft-ietf-regext-rdap-openid-15.txt)<br>
              &gt;<br>
              &gt; Caution: This email originated from outside the
              organization. Do not click links<br>
              &gt; or open attachments unless you recognize the sender
              and know the content<br>
              &gt; is safe.<br>
              &gt;<br>
              &gt; Scott,<br>
              &gt;<br>
              &gt; My preference is option 1, where if the request
              conflicts with the current<br>
              &gt; state it needs to result in an error.<br>
              &gt;<br>
              &gt; --<br>
              &gt;<br>
              &gt; JG<br>
              &gt;<br>
              &gt;<br>
              &gt;<br>
              &gt; James Gould<br>
              &gt; Fellow Engineer<br>
              &gt; <a href="mailto:jgould@Verisign.com"
                moz-do-not-send="true" class="moz-txt-link-freetext">jgould@Verisign.com</a>
              &lt;applewebdata://13890C55-AAE8-4BF3-A6CE-<br>
              &gt; <a href="mailto:B4BA42740803/jgould@Verisign.com"
                moz-do-not-send="true" class="moz-txt-link-freetext">B4BA42740803/jgould@Verisign.com</a>&gt;<br>
              &gt;<br>
              &gt; 703-948-3271<br>
              &gt; 12061 Bluemont Way<br>
              &gt; Reston, VA 20190<br>
              &gt;<br>
              &gt; Verisign.com &lt;<a
href="https://secure-web.cisco.com/14tl_My5ZME5EWUyAX5a7wWHLqYU5eMXkGAJG3kWsISx8PHh1liKD7ofsNq9qr59NAKu3-xshnpp-LDNozsB7tWkGqsyc1BsK6ABNp9qgUH8I2SKGdYCy4WUhmiLVSGvuVH8QqMlnFkMAvd-xHlUM0GOyUB2fcp4OoDQs0SfGknwIrwlYg0Ef0EI96IzjnOCgXJnfvFxNLmUeg1p5f6WVyudP1hcjvqNSA_wIWYcGcZkqxj56CR5-E_Ntq2aS_1Q0/https%3A%2F%2Fprotect-us.mimecast.com%2Fs%2FKdwUCOYzm8CAvABCvFYvF%3Fdomain%3Dsecure-web.cisco.com"
                moz-do-not-send="true">http://secure-web.cisco.com/146IYbLb06o7EQ5y-</a><br>
              &gt;
              S9CI7Wv51aAaxl8hFAuOBaHou3sDkfQPFMQu6BUoW4k5ofYC5YtOj6XXRCKD<br>
              &gt; HYzan_NZGxdaN0YSvV0pwQb7R9i9kzQj1h9R05Pagm54-<br>
              &gt;
              27p6uMqOMzoZGv2vinpZe2J8m4PKqdSLdJjiCepHPZ1JM1mtuI50NVmuZ8vRF<br>
              &gt; i_0YBy7IEEjGceS0HpXLfup5UC4X63esKGLab9WHmN-<br>
              &gt;
              OZdrNHmUQpEtHd1kkwxdbMiJ2nTpenX/http%3A%2F%2Fverisigninc.com%2<br>
              &gt; F&gt;<br>
              &gt;<br>
              &gt; On 7/7/22, 11:02 AM, "regext on behalf of Hollenbeck,
              Scott" &lt;regext-<br>
              &gt; <a href="mailto:bounces@ietf.org"
                moz-do-not-send="true" class="moz-txt-link-freetext">bounces@ietf.org</a>
              on behalf of <a
                href="mailto:shollenbeck=40verisign.com@dmarc.ietf.org"
                moz-do-not-send="true" class="moz-txt-link-freetext">shollenbeck=40verisign.com@dmarc.ietf.org</a>&gt;<br>
              &gt; wrote:<br>
              &gt;<br>
              &gt;<br>
              &gt; Thanks, Rick. Trimming things up a bit and changing
              the subject<br>
              &gt; appropriately...<br>
              &gt;<br>
              &gt; &gt;&gt;&gt; In the last sentence: Is the client
              required to wait until the access<br>
              &gt; &gt;&gt;&gt; token has<br>
              &gt; &gt;&gt;&gt; expired before submitting the new login
              request? Or can it send<br>
              &gt; logout<br>
              &gt; &gt;&gt;&gt; and<br>
              &gt; &gt;&gt;&gt; login back-to-back? (Or even just a
              login command while currently<br>
              &gt; logged<br>
              &gt; &gt;&gt;&gt; in?)<br>
              &gt;<br>
              &gt; &gt;&gt; [SAH] Let's talk about this. What's
              appropriate behavior? IF the server<br>
              &gt; &gt;&gt; gets a<br>
              &gt; &gt;&gt; "login" during an active session, it can
              either ignore the second "login",<br>
              &gt; &gt;&gt; or it<br>
              &gt; &gt;&gt; can return an error. Similarly, it the
              server gets a "logout" when there's<br>
              &gt; &gt;&gt; no<br>
              &gt; &gt;&gt; active session, it can either ignore the
              "logout" or return an error. I'm<br>
              &gt; &gt;&gt; inclined to return an error to explicitly
              note that the submitted<br>
              &gt; &gt;&gt; query/command<br>
              &gt; &gt;&gt; wasn't processed as requested.<br>
              &gt;<br>
              &gt; &gt; [RW] First off, I will certainly defer to those
              with more implementation in<br>
              &gt; &gt; this<br>
              &gt; &gt; realm. However, based on my experience as a
              user, I would expect a<br>
              &gt; login<br>
              &gt; &gt; that<br>
              &gt; &gt; happens during an active session to "just work"
              and override the<br>
              &gt; previous<br>
              &gt; &gt; active<br>
              &gt; &gt; session. This could happen when I have an active
              session at the server<br>
              &gt; but<br>
              &gt; &gt; the<br>
              &gt; &gt; client browser (with the session) crashes or is
              otherwise inaccessible.<br>
              &gt; &gt; This<br>
              &gt; &gt; seems better than the alternative: If the new
              login request is refused,<br>
              &gt; &gt; then<br>
              &gt; &gt; the user is (essentially) locked out until the
              session timeout value<br>
              &gt; &gt; expires.<br>
              &gt; &gt; Related, if the server gets a "logout" when
              there is no active session, I<br>
              &gt; &gt; think<br>
              &gt; &gt; that it should ignore the "logout" (rather than
              returning an error). The<br>
              &gt; &gt; thinking being that returning an error is at
              best useless and at worst could<br>
              &gt; &gt; be<br>
              &gt; &gt; an information leak (aka security risk).<br>
              &gt;<br>
              &gt; The document currently describes a session/refresh
              path segment to<br>
              &gt; perform the<br>
              &gt; kind of "override" behavior described above. Having a
              "login followed by a<br>
              &gt; login" do the same thing seems counter-intuitive. My
              own experience with<br>
              &gt; server-side session management is that there is no
              lockout. If the client<br>
              &gt; sends the right HTTP cookie, and the session is still
              active, there won't be a<br>
              &gt; problem. Another login should be possible if the
              "old" session gets<br>
              &gt; corrupted.<br>
              &gt;<br>
              &gt; Let's look at the server-side options again for
              situations in which the server<br>
              &gt; receives a login followed by a login, or a logout
              where there's been no<br>
              &gt; login,<br>
              &gt; or a refresh without an active session, or a session
              status without an active<br>
              &gt; session:<br>
              &gt;<br>
              &gt; 1. Return an error. HTTP includes a 409 (Conflict)
              response that can be<br>
              &gt; returned if a received request conflicts with the
              current state of the server.<br>
              &gt;<br>
              &gt; 2. Accept the request and ignore it. I'm not sure
              what an appropriate HTTP<br>
              &gt; response code would be for this situation.<br>
              &gt;<br>
              &gt; 3. Accept the request and do "something".<br>
              &gt;<br>
              &gt; Option 1 can be done consistently for all the above
              request sequences.<br>
              &gt; Option<br>
              &gt; 2 seems like it could mislead the client into
              thinking that something has<br>
              &gt; happened unless there is, in fact, an appropriate
              HTTP response code<br>
              &gt; available<br>
              &gt; to describe a no-op (I couldn't find one). Option 3
              might be doable if we<br>
              &gt; can<br>
              &gt; figure out what the "somethings" are, like processing
              a second login<br>
              &gt; received<br>
              &gt; while a session is active, but the other command
              sequences present<br>
              &gt; problems.<br>
              &gt; As you described above, a logout received without an
              active session is<br>
              &gt; processed differently than the "login followed by a
              login" situation. Is that<br>
              &gt; really the best course of action? I think consistent
              behavior would be<br>
              &gt; preferred.<br>
              &gt;<br>
              &gt; Scott<br>
              &gt;<br>
              &gt; _______________________________________________<br>
              &gt; regext mailing list<br>
              &gt; <a href="mailto:regext@ietf.org"
                moz-do-not-send="true" class="moz-txt-link-freetext">regext@ietf.org</a><br>
              &gt; <a href="https://secure-" moz-do-not-send="true"
                class="moz-txt-link-freetext">https://secure-</a><br>
              &gt;
              web.cisco.com/1zzMrKkgYlj9VhlxPYw6YLgXo4UAztsC_b_SIIxy0OJCV9U2y757<br>
              &gt; cdfeXR-<br>
              &gt;
              TsC4CBsm4x0Yza6BzHsVVgxL47gZOr0EEg3eYwSmzQahgfdLx6MCjcvGofpNEU<br>
              &gt;
              HHZt2Y9yHuOqVA2iKKNDFe4kYtLZHy4rnHFrCuG4pBqHTT16_dC9eQWYrcA7F<br>
              &gt;
              A4k25iCZW0YD3jfVPuhbDXOJoN5T2R71VL27lBZvgz67YLjIgfoeMRu8B5U9-<br>
              &gt;
              yu2qyTAFnQ2bvd/https%3A%2F%2Fwww.ietf.org%2Fmailman%2Flistinfo%2<br>
              &gt; Fregext<br>
              &gt;</span></p>
        </div>
      </div>
      <br>
      <fieldset class="moz-mime-attachment-header"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
regext mailing list
<a class="moz-txt-link-abbreviated" href="mailto:regext@ietf.org">regext@ietf.org</a>
<a class="moz-txt-link-freetext" href="https://www.ietf.org/mailman/listinfo/regext">https://www.ietf.org/mailman/listinfo/regext</a>
</pre>
    </blockquote>
    <pre class="moz-signature" cols="72">-- 
Dr. Mario Loffredo
Technological Unit “Digital Innovation”
Institute of Informatics and Telematics (IIT)
National Research Council (CNR)
via G. Moruzzi 1, I-56124 PISA, Italy
Phone: +39.0503153497
Web: <a class="moz-txt-link-freetext" href="http://www.iit.cnr.it/mario.loffredo">http://www.iit.cnr.it/mario.loffredo</a></pre>
  </body>
</html>

--------------YeORo0C1BUAaugMi90iD0PTp--

