+1 to all of this.

Our reasoning for the JWT+introspection was to allow for an RS to take in 
tokens from multiple AS, by looking up the issuer in the JWT itself.

 — Justin

> On Mar 15, 2016, at 12:34 PM, Thomas Broyer <t.bro...@gmail.com> wrote:
> 
> 
> 
> On Tue, Mar 15, 2016 at 2:02 PM Sergey Beryozkin <sberyoz...@gmail.com 
> <mailto:sberyoz...@gmail.com>> wrote:
> Hi
> 
> After following the recent thread on multiple authorization servers, but
> also reading some other related threads, I have a question related to
> when the token introspection can be avoided.
> 
> My understanding has been that given that access tokens are opaque the
> RS does not know anything about its content, hence that was the purpose
> of the token introspection spec: provide an interoperable way for RS to
> submit a token to AS and get the token data for RS to make a final
> decision about this token.
> 
> I think if the access tokens are really opaque, i.e, they are sequences
> RS can not look into, then having the introspection option is the only
> way to check what the token is really about.
> 
> But the recent replies with respect to using JWS or JWE tokens have
> confused me.
> 
> 1. AccessToken as JWS JWT Token:
> 
> RS can easily look into it, but Justin mentioned that in one case they
> first validate this JWS token and then forward it for some further
> introspection. Why start introspecting if the token has been validated
> and its content is visible ?
> 
> Because you want to know whether it's been revoked before its expiration. 
> Introspection is the only way (unless AS and RS are colocated), as only the 
> AS knows.
>  
> Perhaps because some token data which are sensitive are only visible in
> the introspection response ? If yes then why use a self-contained token
> if some more external data are associated with it.
> 
> If the token is not valid (bad issuer, bad signature, expired; or if the 
> scopes are included: insufficient scopes), it saves you a request to the 
> introspection endpoint ;-)
> Only if the token passes the first checks would you introspect it to see if 
> it's still active (not revoked) and possibly retrieve more data about it.
>  
> 2. AccessToken as JWE JWT Token: this option was mentioned a couple of
> times recently, Jonh B. suggested in the other thread the introspection
> may not be needed (sorry if I misread it).
> The question here, how can RS deal with a JWE token, it would need to
> share the decrypting key with AS.
> 
> I think that was the idea yes (didn't someone commented on the thread that 
> they deployed JWT tokens with shared secrets or symmetric keys?)
>  
> So, is introspection needed only for the completely opaque tokens or it
> is also needed for JWS and JWE tokens. I'd say it might be reasonable to
> skip it in case of JWS, depending on the specific requirements (as the
> expiry, issuer, will be typically set in JWS JWT), while with JWE I can
> not see how RS can avoid introspecting unless it shares the
> secret/private key with AS.
> 
> As Justin mentioned in the other thread: introspection is useful (required?) 
> for checking the "liveness" of the token.
> 
> Side-note: given the size of a JWT compared to some "simpler", opaque tokens 
> (mere identifiers), and the fact introspection response are likely to be 
> cached for a few minutes by the RS, I wonder if using a JWT so you can 
> possibly avoid an introspection request outweights (sic!) the bloat of a JWT 
> sent repeatedly over the network (possibly a network with high latency, low 
> bandwidth, and sometimes paid based on exchanged volumes).
> This is rhetoric actually: I side on the "small token that require 
> introspection" until someone comes with a compelling argument to go the other 
> way.
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth

_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

Reply via email to