<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
</head>
<body dir="auto">
<div>Marius: </div>
<div id="AppleMailSignature"><br>
</div>
<div id="AppleMailSignature">"Libraries" will solve it was the argument  dismissing the complexity of OAuth 1.O, but people got it wrong a lot still.</div>
<div id="AppleMailSignature"><br>
</div>
<div id="AppleMailSignature">I'm unclear how the JSON would look in other events. Would you show the alternative?</div>
<div id="AppleMailSignature"><br>
</div>
<div id="AppleMailSignature">Another approach would be to have two events in the "events" property, a general event <font color="#000000" style="background-color: rgba(255, 255, 255, 0);"><a href="http://schemas.openid.net/risc/event-type/account_disabled" style="background-color: rgba(255, 255, 255, 0);">http://schemas.openid.net/risc/event-type/account_disabled</a></font></div>
<div id="AppleMailSignature"><br>
</div>
<div id="AppleMailSignature">And a more specific event </div>
<div id="AppleMailSignature"><br>
</div>
<div id="AppleMailSignature">
<blockquote type="cite">
<div dir="ltr"><font color="#000000" style="background-color: rgba(255, 255, 255, 0);"><a href="http://schemas.openid.net/risc/event-type/account_disabled" style="background-color: rgba(255, 255, 255, 0);">http://schemas.openid.net/risc/event-type/account_disabled</a>_bot</font></div>
</blockquote>
<br>
</div>
<div id="AppleMailSignature">I think it is useful for the WG to see the various approaches and everyone can then have a better understanding of the pros and cons.</div>
<div id="AppleMailSignature"><br>
</div>
<div id="AppleMailSignature">-- Dick</div>
<div><br>
On May 17, 2017, at 6:54 PM, Marius Scurtescu <<a href="mailto:mscurtescu@google.com">mscurtescu@google.com</a>> wrote:<br>
<br>
</div>
<blockquote type="cite">
<div>
<div dir="ltr">Yes, this could be a drawback, but I really don't think the extra level is a significant issue for several reasons:
<div>- almost for sure the hijacking and bot events in particular will need other nested attributes like timestamps (time of hijacking and time of disabling the account)</div>
<div>- only the sofisticated receivers will have to look at the nested attributes, very unlikely they will have a problem with that</div>
<div>- most likely libraries will be used, exposing the attributes should be no issue</div>
<div>- the whole SET is already nested several levels, people know how to parse JSON, even if a receiver is writing its own code to parse, how likely it is they will have issues?</div>
<div><br>
</div>
<div>On the other hand, I am trying to prevent a naive receiver that only cares about session handling to naively look only for "<a href="http://schemas.openid.net/risc/event-type/account_disabled">http://schemas.openid.net/risc/event-type/account_disabled</a>"
 and miss the other events because they have a suffix, or because they look funny.</div>
</div>
<div class="gmail_extra"><br clear="all">
<div>
<div class="gmail_signature" data-smartmail="gmail_signature">Marius</div>
</div>
<br>
<div class="gmail_quote">On Wed, May 17, 2017 at 5:32 PM, Hardt, Dick <span dir="ltr">
<<a href="mailto:dick@amazon.com" target="_blank">dick@amazon.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="white" lang="EN-US" link="blue" vlink="purple">
<div class="m_-533201082336443258WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri">I’m not super keen on having second layer of information about an event as it adds complexity, and this seems like the only place we want to do it. (I do think you proposed one other place)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri">An alternative way of providing the additional information is to append chars to the string. For example<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri"><a href="http://schemas.openid.net/risc/event-type/account_disabled" target="_blank">http://schemas.openid.net/<wbr>risc/event-type/account_<wbr>disabled</a><u></u><u></u></span></p>
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:Calibri"><a href="http://schemas.openid.net/risc/event-type/account_disabled" target="_blank">http://schemas.openid.net/<wbr>risc/event-type/account_<wbr>disabled</a>_bot<u></u><u></u></span></b></p>
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:Calibri"><a href="http://schemas.openid.net/risc/event-type/account_disabled" target="_blank">http://schemas.openid.net/<wbr>risc/event-type/account_<wbr>disabled</a>_hijacking<u></u><u></u></span></b></p>
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:Calibri"><a href="http://schemas.openid.net/risc/event-type/account_enabled" target="_blank">http://schemas.openid.net/<wbr>risc/event-type/account_<wbr>enabled</a><u></u><u></u></span></b></p>
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:Calibri"><u></u> <u></u></span></b></p>
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:Calibri">This lets developers that only care about
<a href="http://schemas.openid.net/risc/event-type/account_disabled" target="_blank">
http://schemas.openid.net/<wbr>risc/event-type/account_<wbr>disabled</a> to look at events that start with that, rather than it being a JSON object.<span class="HOEnZb"><font color="#888888"><u></u><u></u></font></span></span></b></p>
<span class="HOEnZb"><font color="#888888">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:Calibri"><u></u> <u></u></span></b></p>
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:Calibri">/Dick<u></u><u></u></span></b></p>
</font></span>
<div>
<div class="h5">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Calibri"><u></u> <u></u></span></p>
<div>
<div>
<p class="MsoNormal" style="margin-left:.5in">On 5/17/17, 5:23 PM, someone claiming to be "Openid-specs-risc on behalf of Marius Scurtescu" <<a href="mailto:openid-specs-risc-bounces@lists.openid.net" target="_blank">openid-specs-risc-bounces@<wbr>lists.openid.net</a>
 on behalf of <a href="mailto:mscurtescu@google.com" target="_blank">mscurtescu@google.com</a>> wrote:<u></u><u></u></p>
</div>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">At the face-to-face a couple of weeks ago and also on Monday during our call we talked about RISC events that reflect an account state change between disabled and enabled. For example, account hijacked / recovered,
 account deleted / undeleted, etc. <u></u><u></u></p>
<div>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">On one hand there are privacy concerns, and for example if a user violated ToS with a provider then that fact should not be disclosed (I think we have agreement here).<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">On the other had at least with some of the event we do want to be very specific so abuse systems get a quality signal.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">So far the agreement was that hijacking and accounts created by bots need a distinct signal, everything else can use a generic one.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">I am proposing the following format:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">1. All of these events will use these two event type URIs:<u></u><u></u></p>
<div>
<p class="MsoNormal" style="margin-left:.5in"><a href="http://schemas.openid.net/risc/event-type/account_disabled" target="_blank">http://schemas.openid.net/<wbr>risc/event-type/account_<wbr>disabled</a><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><a href="http://schemas.openid.net/risc/event-type/account_enabled" target="_blank">http://schemas.openid.net/<wbr>risc/event-type/account_<wbr>enabled</a><u></u><u></u></p>
</div>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">2. For hijacking and bot created the transmitter should add a nested attribute called "reason" with values like "hijacking" and "bot"<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">An example:<u></u><u></u></p>
</div>
<div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"monospace","serif"">{</span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"monospace","serif"">  "iss": "<a href="https://server.example.com" target="_blank">https://server.example.com</a>",</span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"monospace","serif"">  "sub": "248289761001",</span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"monospace","serif"">  "aud": "s6BhdRkqt3",</span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"monospace","serif"">  "iat": 1471566154,</span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"monospace","serif"">  "jti": "bWJq",</span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"monospace","serif"">  "events": {</span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"monospace","serif"">    "<a href="http://schemas.openid.net/risc/event-type/account_disabled" target="_blank">http://schemas.openid.net/<wbr>risc/event-type/account_<wbr>disabled</a>": </span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"monospace","serif"">    {</span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"monospace","serif"">      "reason": "hijacking",</span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"monospace","serif"">    }</span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"monospace","serif"">  }</span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><span style="font-family:"monospace","serif"">}</span><u></u><u></u></p>
</div>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">We can define more values for "reason" and transmitter could chose to provide them. The more distinct events are provided the easier it is to identify the ToS cases through elimination, so there should be a good
 reason to be specific (if ToS privacy is a concern).<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">Sounds good? Thoughts?<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in">There are other ways to capture these requirements (distinct URIs for hijacking and bot or multiple URIs), but this is the most concise and the safest for developers who are only interested in account state (so
 they don't have to deal with event URIs they don't fully understand or care about).<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:.5in"><u></u> <u></u></p>
</div>
<div>
<div>
<div>
<p class="MsoNormal" style="margin-left:.5in">Marius<u></u><u></u></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</blockquote>
</body>
</html>