305 Commits

Author SHA1 Message Date
Rob Winch
1b79bbed7f Add ServletOAuth2AuthorizedClientExchangeFilterFunction
Fixes: gh-5545
2018-07-20 11:48:19 -05:00
mhyeon.lee
3c461b704c Add AuthenticationMethod type
This section defines three methods of sending bearer access tokens
in resource requests to resource servers.
Clients MUST NOT use more than
one method to transmit the token in each request.

RFC6750 Section 2 Authenticated Requests
https://tools.ietf.org/html/rfc6750#section-2

Add AuthenticationMethod in ClientRegistration UserInfoEndpoint.

Add AuthenticationMethod for OAuth2UserService to get User.

To support the use of the POST method.
https://tools.ietf.org/html/rfc6750#section-2.2

gh-5500
2018-07-20 11:32:51 -04:00
Joe Grandja
9a144d742e Use OAuth2AuthorizedClientRepository in filters and resolver
Fixes gh-5544
2018-07-19 22:57:10 -04:00
mhyeon.lee
3f8e69211f Fix OAuth2 ClientRegistration scope can be null
Allows scope of OAuth2 ClientRegistration to be null.

- The scope setting in the RFC document is defined as Optional.
https://tools.ietf.org/html/rfc6749#section-4.1.1

    > scope:  OPTIONAL.
    > The scope of the access request as described by Section 3.3.

- When the client omits the scope parameter,
validation is determined by the authorization server.
https://tools.ietf.org/html/rfc6749#section-3.3

    > If the client omits the scope parameter when requesting
   authorization, the authorization server MUST either process the
   request using a pre-defined default value or fail the request
   indicating an invalid scope.  The authorization server SHOULD
   document its scope requirements and default value (if defined).

Fixes gh-5494
2018-07-18 16:17:14 -04:00
mhyeon.lee
191a4760f9 Fix DefaultOAuth2AuthorizationRequestResolver baseUrl excludes queryParams
To create redirect_uri in DefaultOAuth2AuthorizationRequestResolver,
queryParam is included in the current request-based baseUrl.
So when binding to the redirectUriTemplate,
the wrong type of redirect_uri may be created.

Fixes gh-5520
2018-07-17 12:00:01 -04:00
Rob Winch
981d35a92c Add ClientRegistration.Builder.registrationId
Fixes: gh-5527
2018-07-17 01:27:39 -05:00
Joe Grandja
371221d729 Support anonymous Principal for OAuth2AuthorizedClient
Fixes gh-5064
2018-07-16 10:15:41 -05:00
Joe Grandja
779597af2a Add support for custom authorization request parameters
Fixes gh-4911
2018-07-16 09:39:06 -05:00
Rob Winch
ba489af354 Fix OAuth2AuthorizedClientExchangeFilterFunctionTests on JDK9
Issue: gh-4371
2018-07-02 16:16:16 -05:00
Rob Winch
127a32bd81 Fix checkstyle OAuth2AuthorizedClientExchangeFilterFunctionTests
Issue: gh-4371
2018-07-02 15:47:24 -05:00
Rob Winch
0116c65c0e OAuth2AuthorizedClientExchangeFilterFunction Refresh Support 2018-07-02 14:14:17 -05:00
Rob Winch
1f1fb1a801 Add MockExchangeFunction getResponse
This allows setting up the mock

Issue: gh-5386
2018-07-02 12:43:00 -05:00
Rob Winch
0910e04bdf MockExchangeFunction Support Multiple Requests
Issue: gh-5386
2018-07-02 12:42:54 -05:00
Rob Winch
e27e1cd637 Add OAuth2AccessTokenResponseBodyExtractor
This externalizes converting a OAuth2AccessTokenResponse from a
ReactiveHttpInputMessage.

Fixes: gh-5475
2018-07-02 12:41:44 -05:00
Rob Winch
8ef4a5ba92 Add NimbusReactiveJwtDecoder RSAPublicKey Support
Fixes: gh-5460
2018-06-25 21:30:49 -05:00
Joe Grandja
d32aa3c6d6 Validate sub claim in UserInfo Response
Fixes gh-5447
2018-06-25 16:44:04 -04:00
Rob Winch
d521d5e066 Add OidcReactiveAuthenticationManager
Fixes: gh-5330
2018-06-18 16:08:07 -05:00
Rob Winch
f7a2a41241 Add OidcReactiveOAuth2UserService
Issue: gh-5330
2018-06-18 16:08:07 -05:00
Rob Winch
3ddde473f2 Extract OidcTokenValidator
Issue: gh-5330
2018-06-18 16:06:19 -05:00
Rob Winch
adb8c60173 Extract OidcUserRequestUtils
This logic is shared by both reactive and non-reactive clients.

Issue: gh-5330
2018-06-18 16:06:01 -05:00
Rob Winch
a3db6fc993 Polish OidcUserService
Fixes: gh-5449
2018-06-18 16:03:41 -05:00
Joe Grandja
02d29887fb Associate Refresh Token to OAuth2AuthorizedClient
Fixes gh-5416
2018-06-12 11:31:43 -04:00
Joe Grandja
4fc6d96073 Rename @OAuth2Client to @RegisteredOAuth2AuthorizedClient
Fixes gh-5360
2018-06-08 17:33:21 -04:00
Rob Winch
dd1b1b9cc3 Use Spring Framework 5.1.0 SNAPSHOT
Fixes: gh-5408
2018-06-05 12:28:51 -05:00
Joe Grandja
fe979aa996 OidcUserService leverages DefaultOAuth2UserService
Fixes gh-5390
2018-05-31 16:17:47 -04:00
Joe Grandja
82e4abdd32 OAuth2ClientArgumentResolver uses AnnotatedElementUtils
Fixes gh-5335
2018-05-29 21:29:33 -04:00
Rob Winch
b3ca598679 Add WebClient Bearer token support
Fixes: gh-5389
2018-05-25 15:17:08 -05:00
Rob Winch
c68cf991ae Add OAuth2AuthorizedClientExchangeFilterFunction
Fixes: gh-5386
2018-05-25 11:01:55 -05:00
Rob Winch
2658577396 OAuth2AuthorizationRequestRedirectWebFilter handles ClientAuthorizationRequiredException
Fixes: gh-5383
2018-05-24 16:40:41 -05:00
Rob Winch
0eedfc717a Revert "Revert "Add ClientRegistration from OpenID Connect Discovery""
This reverts commit 9fe0f50e3ced98357bfaceee88c4539f03d11e45.

The original commit was accidentally pushed prior to PR. We attempted
to revert the commit hoping the PR would open again. This did not work.
We are going to do a Polish commit instead.

Issue: gh-5355
2018-05-18 09:40:43 -05:00
Rob Winch
9fe0f50e3c Revert "Add ClientRegistration from OpenID Connect Discovery"
This reverts commit 0598d4773257d96ed323f98cbc7e78b55dfd516c.
2018-05-18 09:20:51 -05:00
Rob Winch
0598d47732 Add ClientRegistration from OpenID Connect Discovery
Fixes: gh-4413
2018-05-16 12:30:04 -05:00
Rob Winch
7013c6fd76 Add OAuth2LoginSpec
Issue: gh-4807
2018-05-11 04:19:50 -05:00
Rob Winch
23f4b9d3d1 Add OAuth2AuthorizationRequestRedirectWebFilter
Issue: gh-4807
2018-05-11 04:19:50 -05:00
Rob Winch
de959dbff6 Add OAuth2ClientArgumentResolver
Issue: gh-4807
2018-05-11 04:19:50 -05:00
Rob Winch
c1e9785a48 Add OAuth2LoginReactiveAuthenticationManager
Issue: gh-4807
2018-05-11 04:19:50 -05:00
Rob Winch
7401cb2b51 Add ServerOAuth2LoginAuthenticationTokenConverter
Issue: gh-4807
2018-05-11 04:19:50 -05:00
Rob Winch
3cd2ddf793 Add NimbusReactiveAuthorizationCodeTokenResponseClient
Issue: gh-4807
2018-05-11 04:19:50 -05:00
Rob Winch
3220e9560a Add DefaultReactiveOAuth2UserService
Issue: gh-4807
2018-05-11 04:19:50 -05:00
Rob Winch
b613b2d253 Add WebSessionOAuth2ReactiveAuthorizationRequestRepository
Issue: gh-4807
2018-05-11 04:19:50 -05:00
Rob Winch
5e9c714ff0 Add InMemoryReactiveOAuth2AuthorizedClientService
Issue: gh-4807
2018-05-11 04:19:50 -05:00
Rob Winch
a02b0c17f8 Add InMemoryReactiveClientRegistrationRepository
Issue: gh-4807
2018-05-11 04:19:50 -05:00
Rob Winch
c696640276 OAuth2AuthorizationResponseUtils uses MultiMap
Fixes: gh-5331
2018-05-11 04:19:50 -05:00
Joe Grandja
2356749cc3 Add test NimbusUserInfoResponseClient sets Accept header to JSON
Issue gh-5294
2018-05-03 20:18:41 -04:00
Joe Grandja
b8f225c49e NimbusUserInfoResponseClient sets Accept header to JSON
Fixes gh-5294
2018-05-03 16:34:38 -04:00
Joe Grandja
4cc5705ae5 HttpSessionOAuth2AuthorizationRequestRepository removes empty Map from session
Fixes gh-5263
2018-05-02 11:07:26 -04:00
Joe Grandja
49b63e260d OAuth2LoginAuthenticationFilter should handle null ClientRegistration
Fixes gh-5251
2018-05-02 09:16:42 -04:00
Joe Grandja
6095340e93 OAuth2AuthorizationRequestRedirectFilter -> Reuse code for baseUrl
Fixes gh-5153
2018-04-09 21:11:00 -04:00
Joe Grandja
526e0fdd4f Add OAuth2 Client HandlerMethodArgumentResolver
Fixes gh-4651
2018-04-02 12:13:52 -04:00
Joe Grandja
982fc360b2 Add support for authorization_code grant
Fixes gh-4928
2018-04-02 12:13:06 -04:00