Commit Graph

6352 Commits

Author SHA1 Message Date
Joe Grandja eb320bfed4 AuthorizationCodeAuthenticationProcessingFilter -> AuthorizationCodeAuthenticationFilter 2017-10-05 16:40:12 -04:00
Joe Grandja 5c14e48b18 Add OAuth2UserAuthenticationProvider
Moved logic from AuthorizationCodeAuthenticationProvider
to OAuth2UserAuthenticationProvider (new) related to
loading user attributes via OAuth2UserService.

This re-factor is part of the work required for Issue gh-4513
2017-10-05 15:15:35 -04:00
Joe Grandja f8a9077d5a Generalize AuthorizationCodeAuthenticationProvider
The AuthorizationCodeAuthenticationProvider implements part of the
Authorization Code Grant flow as defined in
OAuth 2.0 Authorization Framework and OpenID Connect Core 1.0.
The implementation needs to be de-coupled to allow for better re-use and readability.
This commit introduces the AuthorizationGrantAuthenticator and extracts logic from
AuthorizationCodeAuthenticationProvider and provides different implementations
for OAuth 2.0 and OpenID Connect 1.0.

This re-factor is part of the work required for Issue gh-4513
2017-10-05 05:02:22 -04:00
Rob Winch f184ada186 Update to Spring Data RELEASE 2017-10-03 10:35:18 -05:00
Rob Winch f2bbeba9d2 Update to spring-build-conventions-0.0.4.RELEASE 2017-10-03 08:45:08 -05:00
Joe Grandja 0d516ca32c Rename scopes -> scope 2017-10-02 15:50:16 -04:00
Joe Grandja fb57111ecd redirect-uri property supports 'baseRedirectUrl' uri variable
Fixes gh-4589
2017-10-02 15:29:03 -04:00
Joe Grandja 66647070ab Default login page supports Iterable<ClientRegistration>
Fixes gh-4596
2017-09-29 19:54:17 -04:00
Rob Winch 99f06ca58c HttpSecurity invokes configure(this)
Issue gh-4542
2017-09-29 16:04:47 -05:00
Rob Winch b3bd5ba946 Add Reactive HttpSecurity.addWebFilterAt
Fixes gh-4542
2017-09-29 16:04:35 -05:00
Rob Winch 737c48de06 Polish 2017-09-29 14:13:02 -05:00
Joe Grandja ad91adf9dc Retrieving the UserInfo is conditional
Fixes gh-4451
2017-09-29 10:51:16 -04:00
Rob Winch f3828924ff Fix equals and hashCode alignment
Fixes gh-4588
2017-09-28 17:25:00 -05:00
Rob Winch 646b3e48b3 Avoid Exception Message in HTTP Response
Fixes gh-4587
2017-09-28 17:24:49 -05:00
Rob Winch 1c9b627267 Update to Spring Framework 5.0.0.RELEASE
Fixes gh-4585
2017-09-28 17:24:38 -05:00
Rob Winch c63eb11578 Update to Reactor Bismuth-RELEASE
Fixes gh-4586
2017-09-28 17:24:28 -05:00
Joe Grandja b9258aa6ee Make AuthorizationRequestUriBuilder optional
Fixes gh-4577
2017-09-28 16:43:11 -04:00
Joe Grandja bfb77a7804 Remove unnecessary dependencies 2017-09-28 15:42:12 -04:00
Joe Grandja 9a8ddebc94 Use param matching for Authorization Response
Fixes gh-4576
2017-09-28 10:21:01 -04:00
Joe Grandja d191bcc8ac Remove ClientRegistrationRepository.findByClientId()
Fixes gh-4583
2017-09-28 09:01:58 -04:00
Joe Grandja 52f495a5ec Remove ProviderJwtDecoderRegistry
Fixes gh-4581
2017-09-28 08:51:43 -04:00
Joe Grandja 8448a54678 Remove ClientRegistrationRepository.getRegistrations()
Fixes gh-4582
2017-09-28 07:02:59 -04:00
Joe Grandja 3217582805 Introduce JwtDecoderRegistry
Fixes gh-4584
2017-09-28 06:07:47 -04:00
Joe Grandja b463f8e6b5 Remove httpSecurity.oauth2Login().userInfoEndpoint().userNameAttributeName()
Related gh-4580
2017-09-27 15:39:39 -04:00
Joe Grandja 814742fef6 Rename ClientRegistration.clientAlias -> registrationId
Fixes gh-4575
2017-09-27 09:14:55 -04:00
Joe Grandja 38be35677d Add userNameAttributeName to ClientRegistration
Fixes gh-4580
2017-09-26 21:55:19 -04:00
Joe Grandja 7fb3093617 Fix NPE InMemoryClientRegistrationRepository 2017-09-26 14:08:01 -04:00
Joe Grandja 0e9b2807bf Split up NimbusOAuth2UserService
Fixes gh-4447
2017-09-26 11:32:49 -04:00
Rob Winch 71b1720cfe Use WebHttpHandlerBuilder in samples
DispatcherHandler.toHttpHandler was removed
2017-09-22 20:36:34 -05:00
Rob Winch 6d26b86792 Add UserDetailsRepositoryResourceFactoryBean.fromString
Fixes gh-4566
2017-09-22 20:18:59 -05:00
Rob Winch a4c2073bcd Add UserDetailsManagerResourceFactoryBean.fromString
Fixes gh-4567
2017-09-22 20:18:59 -05:00
Rob Winch bc99f8aff3 Add UserDetailsResourceFactoryBean.fromString
Fixes gh-4568
2017-09-22 20:18:59 -05:00
Rob Winch b59265c641 Add InMemoryUserDetailsManager(UserDetails... users) 2017-09-22 19:56:32 -05:00
Vedran Pavic 1321711824 Upgrade Nimbus dependencies
- Nimbus JOSE + JWT 5.1
- Nimbus OAuth + OIDC SDK 5.36

Fixes gh-4547
2017-09-22 15:56:39 -04:00
Joe Grandja a06487c0f7 Move additionalParameters to TokenResponseAttributes
Fixes gh-4554
2017-09-22 15:21:22 -04:00
Rob Winch 773820158f Exclude transitive aopalliance 2017-09-22 12:10:30 -05:00
Stephan Schroevers 496ea3e321 Also update the dependency management section
The `aopalliance:aopalliance:1.0` dependency is indirectly pulled in by
`spring-security-openid` through its dependence on
`com.google.inject:guice:3.0`. There are no other references to
``aopalliance:aopalliance`.
2017-09-22 11:11:04 -05:00
Stephan Schroevers 9e719bc313 Drop the `aopalliance:aopalliance` dependency
As of Spring 4.3 RC1 the `org.aopalliance` interfaces are once again bundled
with `spring-aop` [1]. Moreover, all modules with a dependency on
`aopalliance:aopalliance` directly or indirectly also depend on `spring-aop`.

This change drops the `aopalliance:aopalliance` dependency in all places it's
declared. Where applicable an explicit dependency on `spring-aop` was added in
its place. (This dependency was already present in most places; in one case the
module didn't require `aopalliance:aopalliance` in the first place.)

The documentation is updated accordingly.

[1] https://jira.spring.io/browse/SPR-13984
2017-09-22 11:11:04 -05:00
Rob Winch 192a177ddf Update to Gradle 4.2 2017-09-22 10:00:49 -05:00
Joe Grandja 680984c242 SecurityTokenRepository associates SecurityToken to ClientRegistration
Fixes gh-4563
2017-09-22 09:51:00 -04:00
Joe Grandja 8521ca8f94 Polish gh-4560 2017-09-21 17:21:41 -04:00
Joe Grandja 7fb386669f InMemoryClientRegistrationRepository -> enforce unique ClientRegistration's
Fixes gh-4562
2017-09-21 15:47:26 -04:00
Joe Grandja 9b61eba41d Add identifier strategy for ClientRegistration
Fixes gh-4561
2017-09-21 10:19:28 -04:00
Joe Grandja baa3b6f258 Add utility for loading properties of client types
Fixes gh-4560
2017-09-20 22:50:19 -04:00
Joe Grandja 991a154703 Add OIDC Client and User Authentication
Fixes gh-4521
2017-09-19 20:57:56 -04:00
Joe Grandja c54c622124 Re-structure OAuth2AuthenticationToken
Fixes gh-4553
2017-09-19 16:35:43 -04:00
Rob Winch 8854414101 Polish for Gradle 5.0 2017-09-18 16:53:19 -05:00
Rob Winch 8a66d0c78d Polish PermissionEvaluator Autowired into Web Security
Issue gh-4077
2017-09-18 16:53:19 -05:00
Craig Andrews 3bf6bf10de Configure permissionEvaluator and roleHierarchy by default
Implementations of AbstractSecurityExpressionHandler (such as the very commonly used DefaultWebSecurityExpressionHandler) get PermissionEvaluator and RoleHierarchy from the application context (if the application context is provided, and exactly one of such a bean exists in it). This approach matches that used in GlobalMethodSecurityConfiguration, making everything in Spring Security work the same way (including WebSecurity).

Issue gh-4077
2017-09-18 16:35:16 -05:00
Rob Winch 3f58822d4d Fix MyCustomDsl Reference
Fixes gh-4340
2017-09-18 16:07:29 -05:00