[keycloak-dev] Some OIDC JIRAs to fix?

Marek Posolda mposolda at redhat.com
Fri Jul 1 08:44:25 EDT 2016


On 01/07/16 08:58, Stian Thorgersen wrote:
>
>
> On 30 June 2016 at 16:25, Marek Posolda <mposolda at redhat.com 
> <mailto:mposolda at redhat.com>> wrote:
>
>     I am adding some OIDC specs JIRAs with possibility how to fix
>     them. I am including those, which will be easy to fix and I can
>     look into them later today or tomorrow before PTO :
>
>     https://issues.jboss.org/browse/KEYCLOAK-3189 - Add 'typ' to JWT
>     header
>
>
> +1
>
>     <https://issues.jboss.org/browse/KEYCLOAK-3190>https://issues.jboss.org/browse/KEYCLOAK-3190
>     - Add 'kid' to JWT header
>
>
> +1
>
>
>     https://issues.jboss.org/browse/KEYCLOAK-3217 - UserInfo endpoint
>     not accessible by POST request secured with Bearer header
>
>
> +1
>
>     https://issues.jboss.org/browse/KEYCLOAK-3147 - OpenID Connect
>     auth request redirect_uri behaviour not according to spec
>
>
> +1 To just require redirect_uri in either case
>
> We need separate JIRAs for scope=openid and another one for removal of 
> ID token when scope=openid isn't used
For now, I've created https://issues.jboss.org/browse/KEYCLOAK-3237 for 
both things.
>
>     <https://issues.jboss.org/browse/KEYCLOAK-3222>https://issues.jboss.org/browse/KEYCLOAK-3222
>     - WellKnown endpoint doesn't return supported types of client
>     authentication
>
>
> +1
>
>     https://issues.jboss.org/browse/KEYCLOAK-3219 - WellKnown endpoint
>     doesn't support claims_supported
>
>
> Maybe this one isn't so straightforward due to protocol mappers?
Yes, right. Just publish it with some value will be easy (and probably 
will make OIDC test happy :) ) but tricky part is which value to use...
>
>
>
>     All of those are quite straightforward and easy to fix IMO.
>
>
>     Besides that, there are those 2, which I first rather want to
>     confirm what exactly to do:
>
>     - https://issues.jboss.org/browse/KEYCLOAK-3221 Tokens not
>     invalidated if an attempt to reuse code is made
>
>     We have just single-use code (which is good), however OAuth2 specs
>     recommends to invalidate existing tokens if an attempt to reuse
>     code is done. And one OIDC test is in WARNING state because of it
>     (it tries to access UserInfo endpoint with the accessToken issued
>     with the reused code).
>
>     I can see 2 possibilities to fix:
>     a) Invalidate just single clientSession where "code" attempt reuse
>     was made
>     b) Logout whole userSession
>
>     It looks to me that (a) is sufficient solution. The potential
>     issue with (b) is, that if attacker can steal code, it gives him
>     the possibility to trigger global logout of user from all apps. WDYT?
>
>
> I think option (a) is the correct approach. I interpret the spec to 
> state that tokens associated with the specific code should be 
> invalidated. Option (b) seems a bit over the top and not necessary I 
> also wonder if there's non-malicious situations where an application 
> could try to exchange a code twice, for example after a timeout or an 
> automated connection retry?
Not sure if this can be really an issue... Maybe we can fix and see if 
someone see issues?

Marek
>
>
>
>     - https://issues.jboss.org/browse/KEYCLOAK-3218 Support for
>     "max_age" in AuthorizationEndpoint and "auth_time" claim on IDToken
>
>     The possibility to implement is :
>     - Add new note AUTH_TIME to UserSessionModel. It will be time when
>     authentication of user was fully finished (including
>     requiredActions). Session note is used just so we don't need to
>     change the model ;)
>     - If "max_age" parameter was requested, the "auth_time" will be
>     added to IDToken (or I will re-check specs if we should rather
>     always add it to IDToken)
>     - I am also thinking about adding hook to CookieAuthenticator, so
>     that if max_age parameter was used and userSession authTime is too
>     "old", the CookieAuthenticator will be ignored and user will need
>     to re-authenticate with other authenticators (username/password
>     form etc). Then authTime will be updated on userSession once
>     authentication is finished.
>
>
> +1 Sounds good
>
>
>     WDYT?
>
>     That will leave us with bigger things for OIDC Basic certification
>     ( scope parameter support, possibly 'claims' param support and
>     'acr' support).
>
>     Marek
>
>     _______________________________________________
>     keycloak-dev mailing list
>     keycloak-dev at lists.jboss.org <mailto:keycloak-dev at lists.jboss.org>
>     https://lists.jboss.org/mailman/listinfo/keycloak-dev
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/keycloak-dev/attachments/20160701/2b7931b9/attachment.html 


More information about the keycloak-dev mailing list