Commit Graph

7138 Commits

Author SHA1 Message Date
Rob Winch 5a94ff2157 Update to Reactor Californium-M2
Fixes: gh-5680
2018-08-17 21:09:41 -05:00
Rob Winch 2c27e18eb3 GlobalMethodSecurityConfiguration uses BeanFactoryAware
This works around an issue found when updating to
Spring 5.1.0.RC2

Issue: gh-5679
2018-08-17 21:09:37 -05:00
Josh Cummings 2e620a26de Auto-configure JwtDecoder via OpenId Configuration
Adding JwtDecoders#fromOidcIssuerLocation which takes an issuer
and derives from it the jwk set uri via a call to
.well-known/openid-configuration

Fixes: gh-5523
2018-08-17 11:20:26 -05:00
Rob Winch ff8163f4c7 Run rnc generation after Feature-Policy Support
After the Feature-Policy support changes the format of the xsd did not
align with the generator which meant running the build caused changes
for the commit.

This commit ran the xsd generation so that the formatting would be
consistent with the generator.

Issue: gh-5670
2018-08-17 11:20:26 -05:00
Josh Cummings d610f31425 Jwt -> Authentication Conversion
Exposes ability to specify a strategy for converting Jwt into an
Authentication, specifically in JwtAuthenticationProvider.

Fixes: gh-5629
2018-08-17 11:04:27 -05:00
Rob Winch 938dbbf424 Add OAuth2AuthorizationRequestResolver.resolve(HttpServletRequest,String)
Previously there was a tangle between
DefaultOAuth2AuthorizationRequestResolver and
OAuth2AuthorizationRequestRedirectFilter with
AUTHORIZATION_REQUIRED_EXCEPTION_ATTR_NAME

This commit adds a new method that can be used for resolving the
OAuth2AuthorizationRequest when the client registration id is known.

Issue: gh-4911
2018-08-16 20:41:13 -05:00
Rob Winch 06df562d61 Polish JwtValidators
The current name of createDelegatingJwtValidator is not intuitive. The
name implies it is just creating a DelegatingOAuth2TokenValidator with
no mention that JwtTimestampValidator is being added.

To resolve this, the arguments have been removed and only
JwtTimestampValidator is added. User's needing additional validators can
add the result of this method to DelegatingOAuth2TokenValidator along with
the additional validators they wish to use. The method name has been
renamed to createDefault which now accurately reflects what is created.
There is no need to have JwtValidator at the end of the method since
the method is located in JwtValidators.

The commit also adds createDefaultWithIssuer for creating with a specific issuer.

Issue: gh-5133
2018-08-16 13:21:07 -05:00
Josh Cummings 7c524aa0c8 Jwt Claim Validation
This introduces OAuth2TokenValidator which allows the customization of
validation steps that need to be performing when decoding a string
token to a Jwt.

At this point, two validators, JwtTimestampValidator and
JwtIssuerValidator, are available for use.

Fixes: gh-5133
2018-08-16 13:19:26 -05:00
Vedran Pavic c6ea447cc0 Add support for Feature-Policy security header 2018-08-16 09:31:02 -05:00
fdesu 9c478257d4 Fix the broken link in the WebSocket documentation
Changeset 46bb855 (#4094) removed websocket chat
sample in favor of spring-session one. This commit
updates spring-security documentation link to
point to the up-to-date sample location
2018-08-16 09:14:24 -05:00
Josh Cummings a4bd0d3923
OIDC Provider Configuration - ClientRegistrations
OIDC Provider Configuration is now being used to create more than just
ClientRegistration instances. Also, the endpoint is being addressed in
more contexts than just the client.

To that end, this refactors OidcConfigurationProvider in the config
project to ClientRegistrations in the oauth2-client project.

Fixes: gh-5647
2018-08-14 13:26:46 -06:00
Joe Grandja cbdc7ee4b3 Relax validation on ClientRegistration
Fixes gh-5667
2018-08-14 14:05:45 -04:00
Joe Grandja 010d99a7d0 Make ClientRegistration.clientSecret optional
Fixes gh-5652
2018-08-14 13:32:51 -04:00
Joe Grandja 8a0c6868cd Add additional parameters to OAuth2UserRequest
Fixes gh-5368
2018-08-14 05:14:45 -04:00
Josh Cummings 950a314c9f
RememberMeConfigTests groovy->java
Issue: gh-4939
2018-08-10 11:17:54 -06:00
Johnny Lim 68878a1675 Replace isEqualTo(null) with isNull() 2018-08-09 18:04:48 -06:00
Rob Winch 4de3d0b860 Create AuthorizationEndpointConfig.configure
Issue: gh-5654
2018-08-08 16:02:40 -05:00
Rob Winch 52622bc6dd Move OAuth2ClientConfigurer.configure to AuthorizationCodeGrantConfigurer
Issue: gh-5654
2018-08-08 16:02:34 -05:00
Joe Grandja 16fe1c5b52 Expose RestOperations in NimbusJwtDecoderJwkSupport
Fixes gh-5603
2018-08-08 14:49:46 -04:00
Joe Grandja 11984039c2 Add OidcUserService.setOauth2UserService()
Fixes gh-5604
2018-08-08 09:32:47 -04:00
Joe Grandja 952743269d Add support for client_credentials grant
Fixes gh-4982
2018-08-08 08:06:47 -05:00
Daniel Meier 14a7387190 Made JwtConfigurer fluent
Adjusted return type of #decoder(JwtDecoder) and #jwkSetUri(String)
to return the JwtDecoder itself. Added new method #and() that returns
the enclosing OAuth2ResourceServerConfigurer.

Fixes gh-5595
2018-08-08 08:28:26 -04:00
Johnny Lim 973af94b42 Fix typo 2018-08-07 22:52:59 -05:00
Rob Winch 6a2dd78f88 Regenerate spring-security-5.1.xsd
Commit 884fdbf9 performed some manual edits of this file which
means running the rncToXsd task causes this file to change. This
commit regenerates the file properly.

Fixes: gh-5640
2018-08-03 10:57:54 -05:00
Johnny Lim e945f3bf82 Fix typo
Closes #5579
2018-08-03 09:58:01 -05:00
Rob Winch 4e8f2a3ee4 Add @Configuration to ServerHttpSecurityConfiguration
Fixes: gh-5635
2018-08-03 09:37:03 -05:00
Johnny Lim 3d1185df3b Add @Deprecation on removeAuthorizationRequest() (#5634) 2018-08-03 09:37:48 -04:00
Rob Winch 1a65abd781 Add defaultOAuth2AuthorizedClient flag
Fixes: gh-5619
2018-07-31 14:44:40 -05:00
Rob Winch cecbc2175b Add CORS WebFlux Support
Fixes: gh-4832
2018-07-31 11:37:50 -05:00
Johnny Lim fe17c71775 Mention spring-security-data dependency for Spring Data in doc
Closes #5556
2018-07-31 09:56:57 -05:00
Rob Winch 0c26d1b98a ServerHttpBasicAuthenticationConverter Validates Scheme Name
Fixes: gh-5414
2018-07-31 09:10:23 -05:00
Rob Winch e3d4d66917 BasicAuthenticationFilter case insenstive
Fixes: gh-5586
2018-07-31 09:10:10 -05:00
Rob Winch 2cd2bab818 Use HttpHeaders.setBasicAuth
Issue: gh-5612
2018-07-30 15:34:48 -05:00
Rob Winch afa2d9cbc7 Remove ExchangeFilterFunctions
Issue: gh-5612
2018-07-30 15:34:44 -05:00
Rob Winch 262c1a77c6 Remove SecurityHeaders
We no longer need this since Spring Framework now provides
HttpHeaders.setBearerAuth

Issue: gh-5612
2018-07-30 15:34:40 -05:00
Rob Winch c26d7dc859 Update to Spring Boot 2.1.0.M1
Fixes: gh-5613
2018-07-30 15:34:35 -05:00
Joe Grandja b5abb99908 ClaimAccessor.getClaimAsString() checks null claim value
Fixes gh-5608
2018-07-30 15:31:41 -04:00
Joe Grandja e243f93eed Default to server_error when OAuth2Error.errorCode is null
Fixes gh-5594
2018-07-30 13:20:58 -04:00
Rob Winch aea861e2f9 Fix Imports
Issue: gh-5599
2018-07-30 12:15:53 -05:00
Rob Winch 6d0369647b Add OAuth2LoginSpec.and()
Fixes: gh-5609
2018-07-30 12:07:51 -05:00
Rob Winch a01dc3a5f6 WebFlux Handles Undefined State Parameter
Currently if a state exists, but an undefined state parameter is provided
a NullPointerException occurs.

This commit handles the null value.

Fixes: gh-5599
2018-07-30 12:02:42 -05:00
Rob Winch dd1fa7f709 Add Sample
Issue: gh-5605
2018-07-30 11:39:50 -05:00
Rob Winch e215d2733f Add OAuth2Spec
Issue: gh-5605
2018-07-30 11:39:45 -05:00
Rob Winch 2056b3440f Add ServerBearerTokenAuthenticationConverter
Issue: gh-5605
2018-07-30 11:39:40 -05:00
Rob Winch 4f417f01a7 BearerTokenServerAuthenticationEntryPoint
Issue: gh-5605
2018-07-30 11:39:34 -05:00
Rob Winch da73242d60 Add JwtReactiveAuthenticationManager
Issue: gh-5605
2018-07-30 11:39:28 -05:00
Rob Winch b8308c9ae0 Extract JwtConverter
Issue: gh-5605
2018-07-30 11:37:56 -05:00
Rob Winch e6bd5357df Next Development Version 2018-07-26 20:11:59 -05:00
Rob Winch b5ae0c86d0 Release 5.1.0.M2 2018-07-26 19:38:11 -05:00
Rob Winch a699cccda1 Disable Snapshot for release 2018-07-26 19:37:40 -05:00