Commit Graph

77 Commits

Author SHA1 Message Date
Josh Cummings
015281ff53 Add DefaultRelyingPartyRegistrationResolver
Closes gh-8887
2020-08-04 17:29:10 -06:00
Josh Cummings
a402c3884a Add ConditionValidator Support
Closes gh-8769
2020-08-04 13:05:23 -06:00
Josh Cummings
d9d8253603 Polish OpenSamlAuthenticationProvider
Issue gh-8769
2020-08-04 13:05:23 -06:00
Josh Cummings
a32de931d3 Polish Javadoc
Issue gh-6019
2020-07-28 16:04:06 -06:00
Josh Cummings
79dca94ce1 Simplify Tests
Issue gh-8772
2020-07-24 17:44:10 -06:00
Joakim Löfgren
eccd929819 Update SimpleSaml2AuthenticatedPrincipal class name
Rename it to DefaultSaml2AuthenticatedPrincipal to be more in line with
the respective class in the OAuth2 module.

Also make the class public to be able to whitelist the SAML2 auth classes
in Jackson object mappers for deserialization in e.g. Spring Session MongoDB.

Closes gh-8852
2020-07-23 16:53:32 -06:00
Josh Cummings
08849e2652 Remove OpenSamlImplementation
Closes gh-8775
2020-07-23 16:09:02 -06:00
Josh Cummings
5779121da6 OpenSamlAuthenticationRequestFactory Uses OpenSAML Directly
Closes gh-8774
2020-07-23 16:09:02 -06:00
Josh Cummings
2e2da06bdb OpenSamlAuthenticationProvider Uses OpenSAML Directly
Closes gh-8773
2020-07-23 16:09:02 -06:00
Josh Cummings
77128a94e2 Add OpenSamlRelyingPartyRegistrationBuilderHttpMessageConverter
Closes gh-8877
2020-07-23 15:32:22 -06:00
Josh Cummings
2276fcf34a Add OpenSamlInitializationService
Closes gh-8772
2020-07-23 15:03:16 -06:00
Josh Cummings
43f2904059 Add ACS Location Default
Closes gh-8876
2020-07-23 15:03:16 -06:00
Josh Cummings
97ccbe5df2 Polish Saml2X509Credential Factories
Issue gh-8789
2020-07-20 15:50:16 -06:00
Thomas Vitale
3978cc591f Add Static Factories to Saml2X509Credential
- Add static factories to Saml2X509Credential for verification, encryption,
signing, and decryption.
- Add unit tests for new static factories in Saml2X509Credential.

Fixes gh-8789
2020-07-20 15:29:48 -06:00
Josh Cummings
56928f61f0 Separate RP and AP Credentials
Closes gh-8788
2020-07-20 14:19:33 -06:00
Josh Cummings
a54e77a3c3 Saml2AuthenticationToken takes a RelyingPartyRegistration
Closes gh-8845
2020-07-17 12:19:27 -06:00
Josh Cummings
44ec061f05 Add AssertionConsumerServiceBinding
Closes gh-8776
2020-07-16 16:22:38 -06:00
Josh Cummings
2c960d2ad1 Add AuthnRequestConsumerResolver
Closes gh-8141
2020-07-16 14:53:22 -06:00
Josh Cummings
2e5c87dc75 Restore Binary Compatibility
Issue gh-8835
2020-07-16 11:10:20 -06:00
Josh Cummings
b02e344c73 Move Saml2Error
Move to core package

Closes gh-8835
2020-07-15 20:09:45 -06:00
Josh Cummings
5bfc6ea25a Refactor OpenSamlAuthenticationProvider
Refactored into collaborators in preparation for introducing setters

Issue gh-8769
2020-07-14 18:15:18 -06:00
Josh Cummings
8e8a642e5a Use Spec Language in RelyingPartyRegistration
Changed conventions to better follow the metadata descriptors that
the registration is meant to represent.

Closes gh-8777
2020-07-07 17:12:39 -06:00
Josh Cummings
146d0b6358 Revert "Lock Dependency Versions for 5.4.0-M2"
This reverts commit 68538897c8.
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
Josh Cummings
a344dbdb8c Use AssertJ
Issue gh-3384
2020-06-18 11:54:33 -06:00
Josh Cummings
360db53dd2 Polish SAML Attribute Support
Issue gh-8661
2020-06-18 11:42:49 -06:00
Nikola Kostic
eed33228f4 Add SAML Attribute Support
Closes gh-8661
2020-06-18 11:42:48 -06:00
Josh Cummings
8e7c4c143c Add TestSaml2AuthenticationRequestContexts
Issue gh-8552
2020-05-18 21:08:03 -06:00
Josh Cummings
9241cd2892 Move TestRelyingPartyRegistrations
Fixes gh-8551
2020-05-18 16:38:40 -06:00
Josh Cummings
7c7934c052 Remove Extra TestSaml2X509Credentials
This class is a duplicate of the one already in
org.springframework.security.saml2.credentials

Issue gh-8404
2020-05-18 10:08:27 -06:00
Joe Grandja
86ca6b013c Unlock dependencies
This reverts commit 206960cf44.
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
Josh Cummings
d4dbe069ad Polish OpenSamlAuthenticationProvider
- Use type-safe CriteriaSet
- Keep Assertion immutable

Closes gh-8471
2020-05-05 16:33:17 -04:00
Josh Cummings
1da694e19c Remove TestSaml2SigningCredentials
Since TestSaml2X509Credentials is where tests get Saml2X509Credentials,
there is no reason for TestSaml2SigningCredentials.

Issue gh-8404
2020-04-17 15:46:19 -06:00
Josh Cummings
ab772893c7 Polish DefaultSaml2AuthenticationRequestContextResolver
- Added more tests
- Standardized terminology

Issue gh-8360
2020-04-17 15:46:14 -06:00
shazin
8c0bdd50e2 Delegating Saml2AuthenticationRequestContext creation to Saml2AuthenticationRequestContextResolver
Saml2AuthenticationRequestContext creation logic is not extensible at
the moment as it is provided inside of Saml2WebSsoAuthenticationRequestFilter.
This change enables to custom logic to be used when creating Saml2AuthenticationRequestContext by
taking the logic from the aforementioned filter to a seperate extensible
API by the name Saml2AuthenticationRequestContextResolver.

This provides following API contract and implementation:

 - Saml2AuthenticationRequestContextResolver
 - DefaultSaml2AuthenticationRequestContextResolver

Fixes gh-8360
2020-04-17 15:40:24 -06:00
Josh Cummings
8904361a37 Polish Saml Tests
Fixes gh-8403
Fixes gh-8404
2020-04-16 17:10:51 -06:00
Josh Cummings
7056c2d9de Polish OpenSamlAuthenticationProviderTests
- Added missing this keywords
- Removed unused variables
- Coded to interfaces
- Added missing JavaDoc

Issue gh-6019
2020-04-16 17:09:46 -06:00
shazin
4e5a3a76cd Open Saml2AuthenticationRequestContext
Fixed gh-8356
2020-04-13 23:58:12 -06:00
Josh Cummings
95f0d02d79 Polish Saml2WebSsoAuthenticationRequestFilter
- Updated formatting
- Reordered methods
- Removed a method

These changes will hopefully simplify future contribution.

Issue gh-6019
2020-04-08 16:27:46 -06:00
Josh Cummings
711954e016 Deprecate Saml2AuthenticationRequestFilter Constructor
Removing the default usage of OpenSamlAuthenticationRequestFactory.
Otherwise, the Open SAML dependency is required, even when
Saml2AuthenticationRequestFactory is implemented without it.

Fixes gh-8359
2020-04-08 16:27:46 -06:00
Josh Cummings
887cb99926 Saml2AuthenticationRequestFilter Tests
To confirm behavior still works as expected after making related changes.

Issue gh-8359
2020-04-08 16:27:46 -06:00
Josh Cummings
0ca65f8677 Add Missing JavaDoc
Issue gh-6019
2020-04-08 16:27:46 -06:00
Josh Cummings
7f2f210eb8 Simplify OpenSamlImplementation
- Removed reflection usage
- Simplified method signatures

Issue gh-7711
Fixes gh-8147
2020-03-20 12:13:14 -06:00
Josh Cummings
088ea07f07 Simplify Saml2ServletUtils
Removed one method as well as a parameter from another method

Issue gh-7711
2020-03-20 12:13:14 -06:00
Josh Cummings
6eadf7b140 Unlock dependencies for 5.3.0.RELEASE
This reverts commit 147d7dadd7.
2020-03-04 12:02:48 -07:00
Josh Cummings
147d7dadd7 Lock dependencies for 5.3.0.RELEASE 2020-03-04 10:28:39 -07:00
Filip Hanik
3257349045 Support POST binding for AuthNRequest
Has been tested with

- Keycloak
- SSOCircle
- Okta
- SimpleSAMLPhp

This PR extends (builds on previous commits and adds user configuration
options)
https://github.com/spring-projects/spring-security/pull/7758
2020-02-28 09:15:26 -08:00
Filip Hanik
a51a202925 Correct signature handling for SAML2 AuthNRequest
Implements the following bindings for AuthNRequest
- REDIRECT
- POST (future PR)

Has been tested with
- Keycloak
- SSOCircle
- Okta
- SimpleSAMLPhp

Fixes gh-7711
2020-02-12 13:30:48 -08:00
Filip Hanik
43098d41cc Revert "Correct signature handling for SAML2 AuthNRequest"
This reverts commit a3e09fadd7.
Build failure on Java 9+

XML generation does not add linefeeds by default
Change since Java 8
2020-02-12 13:30:48 -08:00