Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[feat] Allow SP config force signature validation #16

Merged
merged 2 commits into from
Jul 27, 2024

Conversation

Zogoo
Copy link
Owner

@Zogoo Zogoo commented Jul 24, 2024

The service provider (SP) has a configuration parameter called "validate_signature" that is intended to enforce signature validation. However, this parameter was never utilized, which led to an issue where the SP configuration couldn't control the validation of authentication requests.

  • Test in real SP in dev env

@Zogoo Zogoo self-assigned this Jul 24, 2024
@Zogoo Zogoo force-pushed the feature/support_all_metadata_attr_for_sp_config branch from db81230 to bb558c2 Compare July 24, 2024 17:10
@Zogoo Zogoo force-pushed the feature/support_all_metadata_attr_for_sp_config branch from bb558c2 to 72843b1 Compare July 24, 2024 17:14
@Zogoo Zogoo force-pushed the feature/support_all_metadata_attr_for_sp_config branch from 982ba16 to d38395f Compare July 26, 2024 05:43
@Zogoo Zogoo merged commit f151f07 into master Jul 27, 2024
23 checks passed
Zogoo added a commit that referenced this pull request Nov 1, 2024
…lidation (saml-idp#224)

* Squash commits for saml_idp gem

* [feat] Allow SP config force signature validation (#16)

* Allow SP config force signature validation

* Allow SP config force signature validation

Tested with Slack with Authn request signature option
---------

Co-authored-by: zogoo <[email protected]>

* [feat] Don’t ignore certificates without usage (#17)

I have tested with live SAML SP apps and it works fine

* Unspecified certifciate from SP metadata

---------

Co-authored-by: zogoo <[email protected]>

* wip add error collector

* Fix type and rewrite request with proper validation test cases

* Try with proper way to update helper method (#19)

* Set minimum test coverage (saml-idp#207)

* Set minimum test coverage to a very high value for testing

* Update minimum coverage to actual current value

* Try with proper way to update helper method

* Correctly decode and mock with correct REXML class

* Drop the min coverage

---------

Co-authored-by: Mathieu Jobin <[email protected]>
Co-authored-by: zogoo <[email protected]>

* Lead error render decision to gem user

* Validate the certificate's existence before verifying the signature.

* [feat] Collect request validation errors (#18)

* wip add error collector

* Fix type and rewrite request with proper validation test cases

* Lead error render decision to gem user

* Validate the certificate's existence before verifying the signature.

---------

Co-authored-by: zogoo <[email protected]>

* Support lowercase percent-encoded sequences for URL encoding (#20)

Co-authored-by: zogoo <[email protected]>

* Remove duplications

* Pre-conditions need to be defined in before section

* Le's not test logger in here

* Let's not break anything for now

* Rename correctly

---------

Co-authored-by: zogoo <[email protected]>
Co-authored-by: Mathieu Jobin <[email protected]>
Zogoo added a commit that referenced this pull request Nov 5, 2024
* Squash commits for saml_idp gem

* [feat] Allow SP config force signature validation (#16)

* Allow SP config force signature validation

* Allow SP config force signature validation

Tested with Slack with Authn request signature option
---------

Co-authored-by: zogoo <[email protected]>

* [feat] Don’t ignore certificates without usage (#17)

I have tested with live SAML SP apps and it works fine

* Unspecified certifciate from SP metadata

---------

Co-authored-by: zogoo <[email protected]>

* Try with proper way to update helper method (#19)

* Set minimum test coverage (saml-idp#207)

* Set minimum test coverage to a very high value for testing

* Update minimum coverage to actual current value

* Try with proper way to update helper method

* Correctly decode and mock with correct REXML class

* Drop the min coverage

---------

Co-authored-by: Mathieu Jobin <[email protected]>
Co-authored-by: zogoo <[email protected]>

* [feat] Collect request validation errors (#18)

* wip add error collector

* Fix type and rewrite request with proper validation test cases

* Lead error render decision to gem user

* Validate the certificate's existence before verifying the signature.

---------

Co-authored-by: zogoo <[email protected]>

* Support lowercase percent-encoded sequences for URL encoding (#20)

Co-authored-by: zogoo <[email protected]>

* Pass ref id as Session Index

* Official Rails 8 is not released yet to RubyGem until that let's stick official older version

* [fix] Gem CI updates for latest versions (#22)

* Remove duplications

* Pre-conditions need to be defined in before section

* Le's not test logger in here

---------

Co-authored-by: zogoo <[email protected]>

* [fix] Allow IdP set reference ID for SAML response (#21)

* Pass ref id as Session Index

* Official Rails 8 is not released yet to RubyGem until that let's stick official older version

---------

Co-authored-by: zogoo <[email protected]>

* Fixes for ORIGIN gem

---------

Co-authored-by: zogoo <[email protected]>
Co-authored-by: Mathieu Jobin <[email protected]>
Zogoo added a commit that referenced this pull request Jan 21, 2025
* Squash commits for saml_idp gem

* [feat] Allow SP config force signature validation (#16)

* Allow SP config force signature validation

* Allow SP config force signature validation

Tested with Slack with Authn request signature option
---------

Co-authored-by: zogoo <[email protected]>

* [feat] Don’t ignore certificates without usage (#17)

I have tested with live SAML SP apps and it works fine

* Unspecified certifciate from SP metadata

---------

Co-authored-by: zogoo <[email protected]>

* Try with proper way to update helper method (#19)

* Set minimum test coverage (saml-idp#207)

* Set minimum test coverage to a very high value for testing

* Update minimum coverage to actual current value

* Try with proper way to update helper method

* Correctly decode and mock with correct REXML class

* Drop the min coverage

---------

Co-authored-by: Mathieu Jobin <[email protected]>
Co-authored-by: zogoo <[email protected]>

* [feat] Collect request validation errors (#18)

* wip add error collector

* Fix type and rewrite request with proper validation test cases

* Lead error render decision to gem user

* Validate the certificate's existence before verifying the signature.

---------

Co-authored-by: zogoo <[email protected]>

* Support lowercase percent-encoded sequences for URL encoding (#20)

Co-authored-by: zogoo <[email protected]>

* [fix] Gem CI updates for latest versions (#22)

* Remove duplications

* Pre-conditions need to be defined in before section

* Le's not test logger in here

---------

Co-authored-by: zogoo <[email protected]>

* [fix] Allow IdP set reference ID for SAML response (#21)

* Pass ref id as Session Index

* Official Rails 8 is not released yet to RubyGem until that let's stick official older version

---------

Co-authored-by: zogoo <[email protected]>

* Support rails 8 for dev env (#23)

Co-authored-by: zogoo <[email protected]>

* Assertion flag should able switchable by application (#24)

Co-authored-by: zogoo <[email protected]>

* concurrent-ruby v1.3.5 has removed the dependency on logger

---------

Co-authored-by: zogoo <[email protected]>
Co-authored-by: Mathieu Jobin <[email protected]>
Zogoo added a commit that referenced this pull request Jan 22, 2025
* Signable logic with given certificate information

* Update unit test with new test certificate

* Assertion builder with certificate attribute

* Response builder with ceritificate

* Use directly provided cert and pv key

* Remove config dependency from low layer logics

* Use correct attribute name

* Remove config dependency from low level logics

* Remove config dependency from low level logics and fix test

* Revert Proc approach

* Switchable assertion signature flag (saml-idp#228)

Co-authored-by: zogoo <[email protected]>

* MetadataBuilder uses custom configurator (#25)

Co-authored-by: Andrea Lorenzetti <[email protected]>

* Use concurrent ruby fixed version for test (saml-idp#230)

* Squash commits for saml_idp gem

* [feat] Allow SP config force signature validation (#16)

* Allow SP config force signature validation

* Allow SP config force signature validation

Tested with Slack with Authn request signature option
---------

Co-authored-by: zogoo <[email protected]>

* [feat] Don’t ignore certificates without usage (#17)

I have tested with live SAML SP apps and it works fine

* Unspecified certifciate from SP metadata

---------

Co-authored-by: zogoo <[email protected]>

* Try with proper way to update helper method (#19)

* Set minimum test coverage (saml-idp#207)

* Set minimum test coverage to a very high value for testing

* Update minimum coverage to actual current value

* Try with proper way to update helper method

* Correctly decode and mock with correct REXML class

* Drop the min coverage

---------

Co-authored-by: Mathieu Jobin <[email protected]>
Co-authored-by: zogoo <[email protected]>

* [feat] Collect request validation errors (#18)

* wip add error collector

* Fix type and rewrite request with proper validation test cases

* Lead error render decision to gem user

* Validate the certificate's existence before verifying the signature.

---------

Co-authored-by: zogoo <[email protected]>

* Support lowercase percent-encoded sequences for URL encoding (#20)

Co-authored-by: zogoo <[email protected]>

* [fix] Gem CI updates for latest versions (#22)

* Remove duplications

* Pre-conditions need to be defined in before section

* Le's not test logger in here

---------

Co-authored-by: zogoo <[email protected]>

* [fix] Allow IdP set reference ID for SAML response (#21)

* Pass ref id as Session Index

* Official Rails 8 is not released yet to RubyGem until that let's stick official older version

---------

Co-authored-by: zogoo <[email protected]>

* Support rails 8 for dev env (#23)

Co-authored-by: zogoo <[email protected]>

* Assertion flag should able switchable by application (#24)

Co-authored-by: zogoo <[email protected]>

* concurrent-ruby v1.3.5 has removed the dependency on logger

---------

Co-authored-by: zogoo <[email protected]>
Co-authored-by: Mathieu Jobin <[email protected]>

---------

Co-authored-by: zogoo <[email protected]>
Co-authored-by: Massimo Zappino <[email protected]>
Co-authored-by: Andrea Lorenzetti <[email protected]>
Co-authored-by: Mathieu Jobin <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant