1312 Commits

Author SHA1 Message Date
Dávid Kováč
dfaf251970 Resolve Bearer token after subscribing to publisher
Bearer token was resolved immediately after calling method convert. In situations when malformed token was provided or authorization header and access token query param were present in request exception was thrown instead of signalling error.
After this change Bearer token is resolved on subscription and invalid states are handled by signaling error to subscriber.

Closes gh-8865
2020-08-03 11:04:21 -05:00
Josh Cummings
fd669f751d
Remove unused import
Issue gh-8589
2020-07-31 08:45:47 -06:00
Josh Cummings
c2612a2f41
Remove unused import
Issue gh-8589
2020-07-31 08:45:17 -06:00
Josh Cummings
f6e47830fe
Remove unused import
Issue gh-8589
2020-07-31 08:37:32 -06:00
Josh Cummings
510d1b8121
Polish to Avoid NPE
Issue gh-5648

Co-authored-by: MattyA <mat.auburn@gmail.com>
2020-07-30 17:59:31 -06:00
Josh Cummings
2f80b8a5be
Additional Jwt Validation Debug Messages
Closes gh-8589

Co-authored-by: MattyA <mat.auburn@gmail.com>
2020-07-30 17:58:16 -06:00
Josh Cummings
f3695932de
Polish to Avoid NPE
Issue gh-5648

Co-authored-by: MattyA <mat.auburn@gmail.com>
2020-07-30 17:28:07 -06:00
Josh Cummings
950769fa00
Additional Jwt Validation Debug Messages
Closes gh-8589

Co-authored-by: MattyA <mat.auburn@gmail.com>
2020-07-30 17:21:58 -06:00
Josh Cummings
90e5f45e1f
Polish to Avoid NPE
Issue gh-5648

Co-authored-by: MattyA <mat.auburn@gmail.com>
2020-07-30 16:56:41 -06:00
Josh Cummings
b2728059ae
Additional Jwt Validation Debug Messages
Closes gh-8589

Co-authored-by: MattyA <mat.auburn@gmail.com>
2020-07-30 16:56:37 -06:00
Dennis Neufeld
57db8e5d4a Add OAuth2AuthenticationException to allowlist
Add mixins for
- OAuth2AuthenticationException
- OAuth2Error

Closes gh-8797
2020-07-21 10:15:44 -04:00
Dennis Neufeld
de572be8e9 Add OAuth2AuthenticationException to allowlist
Add mixins for
- OAuth2AuthenticationException
- OAuth2Error

Closes gh-8797
2020-07-21 10:14:45 -04:00
Josh Cummings
9d8920f1b1
Polish Bearer Token Padding
Issue gh-8502
2020-07-16 12:22:45 -06:00
kothasa
6519029340
Bearer Token Padding
Closes gh-8502
2020-07-16 12:22:32 -06:00
Josh Cummings
9045636a4b
Polish Bearer Token Padding
Issue gh-8502
2020-07-16 11:56:55 -06:00
kothasa
09e154d8f2
Bearer Token Padding
Closes gh-8502
2020-07-16 11:53:36 -06:00
Josh Cummings
d3bea02124
Polish Bearer Token Padding
Issue gh-8502
2020-07-15 18:14:39 -06:00
kothasa
d38dabac02
Bearer Token Padding
Closes gh-8502
2020-07-15 18:13:51 -06:00
Josh Cummings
221c33f558
Polish OAuth2IntrospectionAuthenticatedPrincipal
Removed some duplication by delegating to
DefaultOAuth2AuthenticatedPrincipal

Changed order of listed interfaces to satisfy compiler issue. When
listed with OAuth2AuthenticatedPrincipal first, then
OAuth2ResourceServerBeanDefinitionParserTests would fail to import
OpaqueTokenBeanDefinitionParser. Switching
OAuth2AuthenticatedPrincipal with OAuth2IntrospectionClaimAccessor
resolved the compilation issue.

Issue gh-6489
2020-07-09 18:01:55 -06:00
Dávid Kováč
af1c96b425
Simplify OAuth 2.0 Introspection Attribute Retrieval
In order to simplify retrieving of OAuth 2.0 Introspection specific
attributes, OAuth2IntrospectionClaimAccessor interface was introduced
and also new OAuth2AuthenticatedPrincipal implementing this new
interface (OAuth2IntrospectionAuthenticatedPrincipal).

Also DefaultOAuth2AuthenticatedPrincipal was replaced by
OAuth2IntrospectionAuthenticatedPrincipal in cases where OAuth 2.0
Introspection is performed (NimbusOpaqueTokenIntrospector,
NimbusReactiveOpaqueTokenIntrospector).

DefaultOAuth2AuthenticatedPrincipal can be still used by applications
that introspected the token without OAuth 2.0 Introspection.

OAuth2IntrospectionAuthenticatedPrincipal will also be used as a
default principal in tests where request is post-processed/mutated
by OpaqueTokenRequestPostProcessor/OpaqueTokenMutator.

Closes gh-6489
2020-07-09 17:26:13 -06:00
Joe Grandja
b69bcf88e0 Improve error message when invalid content-type for UserInfo response
Closes gh-8764
2020-07-09 14:10:14 -04:00
Julian Müller
4fec451196 Enables empty authorityPrefix
- docs stated that empty authorityPrefix are allowed but implementation denied to use `""`
- commit removes the `hasText`-limitation but restricts to `notNull`

Fixes gh-8421
2020-07-07 15:24:38 +02:00
Josh Cummings
146d0b6358
Revert "Lock Dependency Versions for 5.4.0-M2"
This reverts commit 68538897c83a7ce8db0ec7275dbd10b1a548498f.
2020-07-01 13:11:50 -06:00
Josh Cummings
68538897c8
Lock Dependency Versions for 5.4.0-M2 2020-07-01 12:40:29 -06:00
Eleftheria Stein
7af5804d56 Compare Timestamps up to the millisecond
Issue gh-8782
2020-07-01 11:30:27 +02:00
Eleftheria Stein
eb7b27695d Compare Timestamps up to the millisecond
Issue gh-8782
2020-07-01 11:12:55 +02:00
Benjamin Bargeton
497ef5e74e OAuth2AccessTokenResponse.Builder.expiresIn works after withResponse
Closes gh-8702
2020-06-30 15:15:10 -04:00
Jan Oopkaup
d31fff11b3
Add Post-Processor for JWTProcessor Configuration
Extends all existing builders in NimbusJwtDecoder and NimbusReactiveJwtDecoder with a
post-processor hook to apply changes on the JWTProcessor used for token verification.
Test cases added show how this is used to configure the JWTProcessor to allow additional
JWT typ headers.

Closes gh-8730
2020-06-26 07:52:16 -06:00
Joe Grandja
659b25a4e5 Fix typo in OAuth2AccessTokenResponse
Closes gh-8746
2020-06-22 08:21:59 -04:00
Rob Winch
ca1252be94 Replace whitelist with allowlist
Issue gh-8676
2020-06-10 11:49:21 -05:00
Joe Grandja
da4b626bf1 OAuth2LoginAuthenticationWebFilter should handle OAuth2AuthorizationException
Issue gh-8609
2020-06-09 17:28:21 -04:00
Joe Grandja
4c902bb857 OAuth2AuthorizationCodeGrantWebFilter should handle OAuth2AuthorizationException
Fixes gh-8609
2020-06-09 17:28:21 -04:00
Joe Grandja
674e2c0a8e OAuth2LoginAuthenticationWebFilter should handle OAuth2AuthorizationException
Issue gh-8609
2020-06-09 16:24:00 -04:00
Joe Grandja
11c1236261 OAuth2AuthorizationCodeGrantWebFilter should handle OAuth2AuthorizationException
Fixes gh-8609
2020-06-09 16:24:00 -04:00
Joe Grandja
38c1e3ffa8 OAuth2LoginAuthenticationWebFilter should handle OAuth2AuthorizationException
Issue gh-8609
2020-06-09 15:27:32 -04:00
Joe Grandja
acf56f24a6 OAuth2AuthorizationCodeGrantWebFilter should handle OAuth2AuthorizationException
Fixes gh-8609
2020-06-09 15:21:07 -04:00
Josh Cummings
1d821a2664
Add Ticket Number to Test
Issue gh-8650
2020-06-05 14:24:49 -06:00
Erik Bakker
cd3fd6762f
Don't Consume Request Body
Per the servlet spec, getParameter(name) consumes the request body for
POST requests.

This commit prevents DefaultOAuth2AuthorizationRequestResolver from
consuming the request body for non-Authorization requests.

Closes gh-8650
2020-06-05 14:21:00 -06:00
Josh Cummings
bbd2a9ebae
Revert "Lock Dependencies for 5.3.3.RELEASE"
This reverts commit 116bfe01e6de3bf7cfa06a94f20373f6345b89f0.
2020-06-03 16:11:59 -06:00
Josh Cummings
116bfe01e6
Lock Dependencies for 5.3.3.RELEASE 2020-06-03 13:14:07 -06:00
Parikshit Dutta
28d2cfa14a Add ServerRequestCache setter in OAuth2AuthorizationCodeGrantWebFilter
Fixes gh-8536
2020-06-02 21:54:09 -04:00
Josh Cummings
aa84c79e87
Use Nimbus Multiple Algorithm Support
Closes gh-8623
2020-06-02 12:49:21 -06:00
Parikshit Dutta
1e211b6558 Add RequestCache setter in OAuth2AuthorizationCodeGrantFilter
Fixes gh-8120
2020-05-15 15:13:15 -04:00
Joe Grandja
c1abc9b134 Polish gh-8501 2020-05-15 13:26:09 -04:00
Thomas Vitale
78fa859798 Add issuerUri to ClientRegistration.providerDetails
- Add "issuerUri" attribute to ClientRegistration.providerDetails for OpenID Connect Discovery 1.0 or OAuth 2.0 Authorization Server Metadata.
- Validate OidcIdToken "iss" claim against the OpenID Provider "issuerUri" value.
- Update documentation for client registration: it includes issuer-uri property now.

Fixes gh-8326
2020-05-14 17:13:07 -04:00
Joe Grandja
86ca6b013c Unlock dependencies
This reverts commit 206960cf448b38e643045468b2291e66bfbbd4a9.
2020-05-06 17:27:35 -04:00
Joe Grandja
206960cf44 Lock dependencies for 5.4.0-M1 2020-05-06 17:13:04 -04:00
Joe Grandja
413dfc8679 Unlock dependencies
This reverts commit a61145f74c1b39dc3bc0620da3988daa9a02bb85.
2020-05-06 15:29:45 -04:00
Joe Grandja
a61145f74c Lock dependencies for 5.3.2.RELEASE 2020-05-06 15:06:08 -04:00
Stav Shamir
6f2359ccae Support update when saving with JdbcOAuth2AuthorizedClientService
Before this commit, JdbcOAuth2AuthorizedClientService threw DuplicateKeyException when re-authorizing or when authorizing the same user from a different client.

This commit makes JdbcOAuth2AuthorizedClientService's saveAuthorizedClient method consistent with that of InMemoryOAuth2AuthorizedClientService.

Fixes gh-8425
2020-04-29 09:18:54 -04:00