[Openid-specs-native-apps] Please review specs
Paul Madsen
paul.madsen at gmail.com
Thu Feb 13 21:49:15 UTC 2014
hi Adam, definitely agree.
Adding NAPPS support should have minimal impact on existing apps (both
the RS & native components) if we hope to see SaaS adoption (enter Chuck
stage left)
Guaranteeing a SaaS RS that it will continue to see/validate tokens only
from its own local AS would be key
paul
On 2/13/14, 4:02 PM, Lewis Adam-CAL022 wrote:
>
> Hi all ... glad to see so much activity on this list starting to take
> place, this is work I've been looking forward to seeing matured for
> some time now!
>
> As some of you know, we have implemented a token agent very much in
> the same spirit of the work going on here, and went through many of
> the same design choices. Certainly having the Token Endpoint in
> domain 1 issue an access_token for an RS in domain 2 is a simple
> architectural model, especially since JWT is an assertion that can
> cross security domains (we carefully considered this option).
>
> However, we opted for the other solution which utilized the assertion
> profile grant that the OAuth WG is defining for a number of reasons.
> Namely, it follows the best known OAuth pattern that a single AS
> protects the APIs exposed by the RS's. An AS from domain 1 is
> unlikely to know what scopes are required in an access_token meant to
> be consumed by an RS in domain 2.
>
> I suppose that sending the id_token to the RS and giving the RS a
> choice to consume that token, or exchange it itself by sending it to
> its own Token Endpoint would also be a viable option, but another
> reason we tokenized all our Resource Servers was to simplify the
> number of authentication methods they needed to support, taking it
> down to just 1 (e.g. consume the access token generated by its own AS).
>
> OAuth was designed to get clients out of asking for passwords, but my
> real interest in it was to get the RS out of needing to know a
> password, and being able to abstract primary auth from secondary auth.
>
> FWIW.
>
> adam
>
> *From:*openid-specs-native-apps-bounces at lists.openid.net
> [mailto:openid-specs-native-apps-bounces at lists.openid.net] *On Behalf
> Of *Mike Varley
> *Sent:* Thursday, February 13, 2014 2:52 PM
> *To:* John Bradley
> *Cc:* openid-specs-native-apps at lists.openid.net
> *Subject:* Re: [Openid-specs-native-apps] Please review specs
>
> Hi John,
>
> Are you saying (in the picture you provided) would (could) the call to
> the 3rd party TE be optional? i.e., the TE could return an id_token
> targeted to the 3rd party API, that acts as an access token?
>
> Thanks,
>
> MV
>
> On Feb 13, 2014, at 11:19 AM, John Bradley <ve7jtb at ve7jtb.com
> <mailto:ve7jtb at ve7jtb.com>> wrote:
>
>
>
> This shows using the token endpoint to side-scope a refresh token to
> get a id_token with a 3rd party audience using the Google Play
> example, then using the JWT assertion flow to exchange the id_token
> for a access token.
>
> This is the Google developer spec for the Play Method
> http://android-developers.blogspot.com/2013/01/verifying-back-end-calls-from-android.html
>
> They don't have there Token Agent do the swap for a access token, they
> are handing the id_token to the app and letting it use it as an access
> token or exchange it in some way.
>
> The other possibility may be to have the Appinfo endpoint return the
> id_token along with meta-data about what 3rd party Token endpoint
> needs to be used to exchange the id_token/JWT assertion.
>
> This may work better if the Token Agent is doing the exchange rather
> than the app.
>
> For those not part of the Connect WG we deliberately the id_token the
> same format as a JWT for use in assertions.
>
> On Feb 12, 2014, at 6:20 PM, Paul Madsen <paul.madsen at gmail.com
> <mailto:paul.madsen at gmail.com>> wrote:
>
>
>
> guys, care to swimlane that model out at websequencediagrams?
>
> paul
>
> On 2/12/14, 3:52 PM, Chuck Mortimore wrote:
>
> We've been thinking of a model where the RS could validate the
> id_token for access to it's services and exchange it via assertion
> flow if it needed to act on behalf of user at the RS associated
> with the original AS. This sounds inline with that
>
> -cmort
>
> On Wed, Feb 12, 2014 at 12:39 PM, John Bradley <ve7jtb at ve7jtb.com
> <mailto:ve7jtb at ve7jtb.com>> wrote:
>
> Hi Chuck,
>
> I will get to this over the next couple of days.
>
> We do have the 3rd party id_tokens that can be used as JWT
> assertions that were added to connect for Google. In principal
> those should be exchanged in the assertion flow for access tokens
> when crossing security domains.
>
> So I suppose the type of token would depend on if the app directly
> accepted access tokens from the AS of the napps agent.
>
> Apps using Google Play services directly use the id_token as a
> access token in general but that places a potential burden on the
> RS to accept tokens of different types. I prefer to use the
> token endpoint to exchange the assertion so the RS only needs to
> worry about access tokens from it's AS whatever those happen to be.
>
> John B.
>
> On Feb 5, 2014, at 11:48 PM, Chuck Mortimore
> <cmortimore at salesforce.com <mailto:cmortimore at salesforce.com>> wrote:
>
>
>
> One other thought - Perhaps instead of opaque access tokens for
> the apps, we should issue id_tokens that are audience restricted
>
> On Wed, Feb 5, 2014 at 3:58 PM, Chuck Mortimore
> <cmortimore at salesforce.com <mailto:cmortimore at salesforce.com>> wrote:
>
> *Comments on Agent Core 1.0*
>
> 5.0 - Do we need to make client credentials mandatory? Can we make
> this a MAY?
>
> 7.1 - in general seems redundant to oauth/openid connect, with the
> exception of the AZA scope. Do we need to respecify all of this?
>
> 7.1.1 - Why is response_type=code MUST? Is this oauth carry over?
> (same as my question on 5.0 I think)
>
> 7.4.1/2 - By issuing on the token endpoint, we are basically
> saying that only administrative authorization models will work.
> If end-user authorized oauth is being used, the user doesn't have
> a chance to approve access to and new app. Shouldn't we be
> performing a new Authorization request, rather than a straight
> refresh token exchange?
>
> *Comments on Agent API bindings 1.0*
>
> 2.0 - "Rather than the user individually authenticating and
> authorizing each native application, they do so only for the
> authorization agent" - same as my last comment; from an
> authorization model perspective, this basically kills off end-user
> approval models with this profile. There's no way for the user to
> make effective authorization decisions for future unknown
> applications.
>
> 4.0 - this seems to really be the meat of what we should specify,
> but the entire section is basically silent on detail. For this
> spec to be successful, shouldn't we take a stand and actually
> specify interaction patterns?
>
> 4.1 - "The TA MUST NOT deliver a secondary access token to an
> application for which it was not issued." seems at odds with the
> rest of this section. For example, the custom scheme approach
> would potentially violate this on iOS. I'm not certain there is a
> reliable way not to violate this when supporting an TA intiated flow.
>
> 4.2 - We should really spec out a Native App intiated flow. It
> may be the only way we can reliably handle the security contraint
> in section 4.1. One option could be to issue a public key with
> the authorization request and then encrypt the use JWE to
> responds, so if the Native app's custom scheme url were hijacked,
> the returned token wouldn't bleed to the wrong app.
>
> On Wed, Feb 5, 2014 at 1:18 PM, Paul Madsen <paul.madsen at gmail.com
> <mailto:paul.madsen at gmail.com>> wrote:
>
> Both core & bindings are available at
>
> http://hg.openid.net/napps/wiki/Home
>
> John has some editorial fixes to make but is hoping to combine
> with those with any more normative changes
>
> Our next call is Wed feb 19 @ 6 pm EST
>
> Paul
>
> _______________________________________________
> Openid-specs-native-apps mailing list
> Openid-specs-native-apps at lists.openid.net
> <mailto:Openid-specs-native-apps at lists.openid.net>
> http://lists.openid.net/mailman/listinfo/openid-specs-native-apps
>
> _______________________________________________
> Openid-specs-native-apps mailing list
> Openid-specs-native-apps at lists.openid.net
> <mailto:Openid-specs-native-apps at lists.openid.net>
> http://lists.openid.net/mailman/listinfo/openid-specs-native-apps
>
> <NAPPS access to 3rd party based on JWT assertion..svg><smime.p7s>
>
>
>
> _______________________________________________
> Openid-specs-native-apps mailing list
> Openid-specs-native-apps at lists.openid.net
> http://lists.openid.net/mailman/listinfo/openid-specs-native-apps
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openid.net/pipermail/openid-specs-native-apps/attachments/20140213/38277bcb/attachment-0001.html>
More information about the Openid-specs-native-apps
mailing list