Commit Graph

352 Commits

Author SHA1 Message Date
Josh Cummings ae74f22e30 Reactive Jwt Claim Set Converter Support
Exposes setClaimSetConverter on NimbusReactiveJwtDecoder, lining it up
with the same support on NimbusJwtDecoder.

Fixes: gh-6015
2018-11-13 15:31:08 -06:00
Josh Cummings 19649db9ce
Leave Issuer As String
Since StringOrURI is a valid issuer, MappedJwtClaimSetConverter and
JwtIssuerValidator no longer assume it.

Issue: gh-6073
2018-11-13 11:39:15 -07:00
Josh Cummings c70b65c5df
Favor URL.toExternalForm
Converts URLs to Strings before comparing them. Uses toString(),
which delegates to toExternalForm().

Fixes: gh-6073
2018-11-13 08:20:18 -07:00
Josh Cummings a32d19ec7d
Polish NimbusReactiveJwtDecoderTests
Issue: gh-5650
2018-11-12 15:04:00 -07:00
Joe Grandja a96893a42a Remove charset from Accept header in UserInfo request
Fixes gh-6017
2018-10-25 12:56:45 -04:00
Vedran Pavic e1b095df32 Allow in-memory client registration repos to be constructed with a map
Fixes gh-5918
2018-10-18 14:07:12 -04:00
Josh Cummings 22bd8f1c1f Reactive Jwt Authentication Converter Support
Fixes: gh-5092
2018-10-15 11:55:12 -05:00
Joe Grandja 07d2e43d7a Deprecate NimbusAuthorizationCodeTokenResponseClient
Fixes gh-5954
2018-10-15 09:01:19 -04:00
Rob Winch 725b3b5482 Fix OAuth2AuthorizationCodeGrantWebFilter works w/ /{action/
Issue: gh-5856
2018-09-20 21:39:09 -05:00
Joe Grandja 9565e90b6e Remove oauth2-oidc-sdk dependency from oauth2-jose module
Fixes gh-5891
2018-09-20 15:20:11 -04:00
Joe Grandja d46f83caf4 Ensure consistent matching of redirect_uri
Fixes gh-5890
2018-09-20 14:30:41 -04:00
Josh Cummings 77fa495860
DelegatingOAuth2TokenValidator Varargs Constructor
Fixes: gh-5889
2018-09-20 10:45:51 -06:00
Rob Winch 410f6bae1a Fix ServerOAuth2AuthorizedClientExchangeFilterFunctionTests Merge
Issue: gh-5872
2018-09-19 11:53:21 -05:00
Rob Winch dcbf762a0b WebClient OAuth2 Support for defaultClientRegistrationId
Fixes: gh-5872
2018-09-19 11:47:04 -05:00
Joe Grandja e8d8eb59bf Make OAuth2AuthorizedClient Serializable
Fixes gh-5757
2018-09-19 10:47:30 -04:00
Joe Grandja 2c078c5dd9 Remove expiresAt constructor-arg in OAuth2RefreshToken
Fixes gh-5854
2018-09-19 10:47:30 -04:00
Rob Winch cc8935e904 Fix Reactive OIDC to add refresh token
Fixes: gh-5858
2018-09-17 21:21:36 -05:00
Rob Winch 72301e548a Reactive OAuth2 DSL Customizations
Fixes: gh-5855
2018-09-17 21:21:36 -05:00
Rob Winch 385bdfc055 OAuth2AuthorizationCodeGrantWebFilter works with /{action}/
This ensures that the same URL can work for both log in and
authorization code which prevents having to create additional registrations
on the client and potentially on the server (GitHub only allows a single
valid redirect URL).

Fixes: gh-5856
2018-09-17 21:21:36 -05:00
Joe Grandja ed9cd478ba Polish
Issue gh-5776
2018-09-12 11:57:53 -04:00
Joe Grandja 8746e71b9a Use OAuth2AuthorizationException in authorization flows 2018-09-11 14:53:42 -05:00
Joe Grandja ef02ab2f8a DefaultOAuth2UserService handles OAuth2AuthorizationException 2018-09-11 14:53:42 -05:00
Joe Grandja 7474d6524e DefaultAuthorizationCodeTokenResponseClient throws OAuth2AuthorizationException 2018-09-11 14:53:42 -05:00
Joe Grandja 56b4576396 DefaultClientCredentialsTokenResponseClient throws OAuth2AuthorizationException
Fixes gh-5726
2018-09-11 14:53:42 -05:00
Joe Grandja e56c048db3 Remove OAuth2ClientException 2018-09-11 14:53:42 -05:00
Joe Grandja b3282957a8 Add OAuth2AuthorizationException 2018-09-11 14:53:42 -05:00
Rob Winch 26e577b0fa UnauthenticatedServerOAuth2AuthorizedClientRepository->UnAuthenticatedServerOAuth2AuthorizedClientRepository
Issue: gh-5817
2018-09-07 15:29:35 -05:00
Rob Winch 11ea92ef1c Add UnauthenticatedServerOAuth2AuthorizedClientRepository
Fixes: gh-5817
2018-09-07 15:28:40 -05:00
Josh Cummings 9e0f171d47 Jwt Claim Mapping
This introduces a hook for users to customize standard Jwt Claim
values in cases where the JWT issuer isn't spec compliant or where the
user needs to add or remove claims.

Fixes: gh-5223
2018-09-07 09:48:26 -05:00
Rob Winch 438d2911fb OAuth2AuthorizedClientResolver
Extract out a private API for shared code between the argument resolver
and WebClient support. This makes it easier to make changes in both
locations. Later we will extract this out so it is not a copy/paste
effort.

Issue: gh-4921
2018-09-07 08:58:00 -05:00
Rob Winch 23726abb1e ServerOAuth2AuthorizedClientExchangeFilterFunction default ServerWebExchange
Leverage ServerWebExchange established by ServerWebExchangeReactorContextWebFilter

Issue: gh-4921
2018-09-07 08:57:25 -05:00
Rob Winch ac78258847 ServerOAuth2AuthorizedClientExchangeFilterFunction defaultOAuth2AuthorizedClient
Defaults to use the OAuth2AuthenticationToken to resolve the authorized client

Issue: gh-4921
2018-09-07 08:57:00 -05:00
Rob Winch 158b8aa6d5 ServerOAuth2AuthorizedClientExchangeFilterFunction clientRegistrationId
Issue: gh-4921
2018-09-07 08:56:49 -05:00
Rob Winch 28537fa3b6 WebClientReactiveClientCredentialsTokenResponseClient
Fixes: gh-5607
2018-09-07 08:53:35 -05:00
Rob Winch 89f2874bff ServerOAuth2AuthorizedClientExchangeFilterFunction clientRegistrationId
You can now provide the clientRegistrationId and
ServerOAuth2AuthorizedClientExchangeFilterFunction will look up the authorized client automatically.

Issue: gh-4921
2018-09-07 08:52:35 -05:00
Rob Winch 5bcbb1c40f ServerOAuth2AuthorizedClientExchangeFilterFunction uses ServerOAuth2AuthorizedClientRepository
Issue: gh-4921
2018-09-07 08:52:18 -05:00
Josh Cummings 65c81ce952
Make JwtReactiveAuthenticationManager final 2018-09-06 13:46:18 -06:00
Joe Grandja 057587ef29 ClientRegistration contains Provider Configuration Metadata
Fixes gh-5540
2018-09-05 17:01:23 -04:00
Joe Grandja dfd572a4d2 Polish 2018-09-05 07:59:00 -05:00
Joe Grandja 3b480a3a05 Provide RestOperations in CustomUserTypesOAuth2UserService
Fixes gh-5602
2018-09-05 07:59:00 -05:00
Joe Grandja 4a8c95a3e8 Provide RestOperations in DefaultOAuth2UserService
Fixes gh-5600
2018-09-05 07:59:00 -05:00
Josh Cummings 8510e9a285 Reactive Resource Server insufficient_scope
This introduces an implementation of ServerAccessDeniedHandler that is
compliant with the OAuth 2.0 spec for insufficent_scope errors.

Fixes: gh-5705
2018-08-31 10:33:11 -05:00
Joe Grandja 8e615d0fee Re-factor DefaultClientCredentialsTokenResponseClient
Fixes gh-5735
2018-08-27 15:10:17 -05:00
Rob Winch 713e1e3356 BearerTokenServerAuthenticationEntryPoint waits for subscriber
Fixes: gh-5742
2018-08-27 14:26:45 -05:00
Joe Grandja 229b69dd35 Add DefaultAuthorizationCodeTokenResponseClient
Fixes gh-5547
2018-08-27 12:44:19 -04:00
Rob Winch f5ad4ba0fa ServletOAuth2AuthorizedClientExchangeFilterFunction support client_credentials
Fixes: gh-5639
2018-08-24 11:33:02 -05:00
Rob Winch 2d497c7b0f Remove OAuth2ExchangeFilterFunctions
Fixes: gh-5734
2018-08-24 11:27:59 -05:00
Josh Cummings 59cdfc7d6e ReactiveJwtDecoder via OIDC Provider Configuration
A reactive static builder for constructing and configuring a
ReactiveJwtDecoder via an issuer that supports the OIDC Provider
Configuration spec.

Fixes: gh-5649
2018-08-21 15:09:18 -05:00
Josh Cummings 01443e35b4 Reactive Jwt Validation
This allows a user to customize the Jwt validation steps that
NimbusReactiveJwtDecoder will take for each Jwt.

Fixes: gh-5650
2018-08-21 15:06:05 -05:00
Josh Cummings b11e9ed317
Fix Javadoc Typo
NimbusReactiveJwtDecoder incorrectly referred in its class-level doc
as being an implementation of JwtDecoder. This has been corrected to
say ReactiveJwtDecoder.

Fixes: gh-5711
2018-08-21 12:21:23 -06:00