<div dir="ltr">I've some slides on this subject, based exclusively on using the Google public documentation and the Play Services SDK: <a href="https://speakerdeck.com/pmhsfelix/single-sign-on-for-mobile-native-applications?slide=71" target="_blank">https://speakerdeck.com/pmhsfelix/single-sign-on-for-mobile-native-applications?slide=71</a><div><br></div><div>HTH</div><div>Cheers</div><div>Pedro</div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Aug 20, 2015 at 11:16 PM, Mike Jones <span dir="ltr"><<a href="mailto:Michael.Jones@microsoft.com" target="_blank">Michael.Jones@microsoft.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<div>
<div style="font-family:Calibri,sans-serif;font-size:11pt">Thanks, Mengcheng!</div>
</div>
<div dir="ltr">
<hr>
<span style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">From:
</span><span style="font-family:Calibri,sans-serif;font-size:11pt"><a href="mailto:mengcheng@google.com" target="_blank">Mengcheng Duan</a></span><br>
<span style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">Sent:
</span><span style="font-family:Calibri,sans-serif;font-size:11pt">8/20/2015 3:07 PM</span><br>
<span style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">To:
</span><span style="font-family:Calibri,sans-serif;font-size:11pt"><a href="mailto:adawes@google.com" target="_blank">Adam Dawes</a></span><br>
<span style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">Cc:
</span><span style="font-family:Calibri,sans-serif;font-size:11pt"><a href="mailto:Michael.Jones@microsoft.com" target="_blank">Mike Jones</a>;
<a href="mailto:wdenniss@google.com" target="_blank">William Denniss</a>; <a href="mailto:breno@google.com" target="_blank">
Breno de Medeiros</a>; <a href="mailto:naa@google.com" target="_blank">Naveen Agarwal</a>; <a href="mailto:openid-specs-ab@lists.openid.net" target="_blank">
openid-specs-ab@lists.openid.net</a>; <a href="mailto:jbradley@pingidentity.com" target="_blank">
John Bradley</a></span><span><br>
<span style="font-family:Calibri,sans-serif;font-size:11pt;font-weight:bold">Subject:
</span><span style="font-family:Calibri,sans-serif;font-size:11pt">Re: [Openid-specs-ab] Your help needed clarifying Google's "azp" claim usage</span><br>
<br>
</span></div>
<div>
<div dir="ltr">the client ID is the android app is used in the request. An audience field which contains the home server client ID provided by the app is added in the request. An ID token whose azp is the android app and aud is the home server will be issued
if the two client IDs are in the same parent project, .</div>
<div class="gmail_extra"><br clear="all">
<div>
<div>
<div><br>
</div>
- Mengcheng</div>
</div><div><div>
<br>
<div class="gmail_quote">On Thu, Aug 20, 2015 at 2:52 PM, Adam Dawes <span dir="ltr">
<<a href="mailto:adawes@google.com" target="_blank">adawes@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">+mengcheng</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Thu, Aug 20, 2015 at 9:03 AM, Mike Jones <span dir="ltr">
<<a href="mailto:Michael.Jones@microsoft.com" target="_blank">Michael.Jones@microsoft.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div lang="EN-US">
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Thanks guys. A few follow-up questions…<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Which Client ID is used in the Authentication Request to the OP – the Client ID of the Android App or the Client ID of the app’s home server? Also, what
information are you adding to the Authentication Request to tell the OP to issue a token with the audience being the app’s home server and the “azp” being the Android application?<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> -- Mike<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> William Denniss [mailto:<a href="mailto:wdenniss@google.com" target="_blank">wdenniss@google.com</a>]
<br>
<b>Sent:</b> Wednesday, August 19, 2015 11:39 PM<br>
<b>To:</b> Adam Dawes<br>
<b>Cc:</b> Mike Jones; Breno de Medeiros; Naveen Agarwal; <a href="mailto:openid-specs-ab@lists.openid.net" target="_blank">
openid-specs-ab@lists.openid.net</a>; John Bradley<br>
<b>Subject:</b> Re: [Openid-specs-ab] Your help needed clarifying Google's "azp" claim usage<u></u><u></u></span></p>
<div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal"><span style="font-size:9.5pt">So our interpretation is that 'azp' is the party who the token was issued to, 'aud' is the party who the token was intended for. The expectation being that the 'azp' client is presenting the token to their
server (the 'aud'). For our Android API, both client-ids must be registered under the same parent project (i.e. you can't request an id token for an arbitrary client id that you don't also own, and isn't a member of the same project).</span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Of the two names, I think I prefer "<span style="color:black">Authorized Presenter" over "Authorized Party", as azp refers to the client authorized to present the token to the server.</span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">The server could always choose to accept an ID Token issued with an 'aud' of its client app directly, this just makes the semantic a little more explicit I guess.</span><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">It is curious that we have documented the claim semantic, without actually having a standards-compliant way to request such a token. I wonder if that's something we should address. It could be relevant for the
NAPPS effort.</span><u></u><u></u></p>
</div>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">On Wed, Aug 19, 2015 at 10:57 PM, Adam Dawes <<a href="mailto:adawes@google.com" target="_blank">adawes@google.com</a>> wrote:<u></u><u></u></p>
<div>
<p class="MsoNormal">From one of our engineers:<u></u><u></u></p>
<span>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:9.5pt">AFAIU, the only case where "azp" is different from "aud" is Android cross-client ID token.<u></u><u></u></span></p>
<div>
<p class="MsoNormal"><span style="font-size:9.5pt">In that case, the azp is the ID token requestor, which is the Android app, and the audience is the app's home server, for which the ID token is intended.<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.5pt">Unfortunately, this underlying protocol is not standard OAuth2 or OIDC. I'm not sure we want to publicly document the protocol traces.<u></u><u></u></span></p>
</div>
</div>
</div>
</span></div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">On Wed, Aug 19, 2015 at 12:16 PM, Mike Jones <<a href="mailto:Michael.Jones@microsoft.com" target="_blank">Michael.Jones@microsoft.com</a>> wrote:<u></u><u></u></p>
<span>
<div>
<div>
<div>
<div>
<p class="MsoNormal">Hi Googlers,<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">It would be hugely useful if you could capture protocol traces that demonstrate how Google actually uses the “azp” claim in cases where the “azp” and “aud” values differ. Ideally, I'd like to see actual protocol traces, including the Authentication
Request, the Authentication Response, and both directions of any the communication between the Client that made the request to the OP and any other Clients that it also sends the resulting token(s) to. Among other things, that would also answer OAuth-y questions
like which Client ID is being used for client authentication to the OP when more than one client is involved.<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">The Connect text about “azp” is currently both ambiguous and contradictory. This data would be of a huge help to us for sorting this out during the current errata round.<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal"> Thanks a bunch,<u></u><u></u></p>
<p class="MsoNormal"> -- Mike<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt">_______________________________________________<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="https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2flists.openid.net%2fmailman%2flistinfo%2fopenid-specs-ab&data=01%7c01%7cMichael.Jones%40microsoft.com%7c836d72deda5d482c47e908d2a92a1d41%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=7uvAkt5fiquNc%2bOVCQir5UvBmFs%2bpyCE0LiqSs14d%2bY%3d" target="_blank">http://lists.openid.net/mailman/listinfo/openid-specs-ab</a><u></u><u></u></p>
</span></div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
</div>
<br>
</div></div></div>
</div>
</div>
<br>_______________________________________________<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" rel="noreferrer" target="_blank">http://lists.openid.net/mailman/listinfo/openid-specs-ab</a><br>
<br></blockquote></div><br></div></div>