Skip to content

Conversation

@johnnyshields
Copy link
Collaborator

@johnnyshields johnnyshields commented Mar 15, 2025

Includes changes from #745, please merge that one first.

This does the following changes:

  • Extracts out Base64 decoding/deflate to RubySaml::XML::Decoder
  • Extracts out XML decryption logic to RubySaml::XML::Decryptor
  • Centralizes namespace constants in RubySaml::XML module
  • Uses Base64.strict_encode64 everywhere. The only difference between Base64.strict_encode64 and Base64.encode64 is that the latter doesn't insert newline chars, while the former does. By using strict_encode64 we can remove a lot of .gsub("\n", "") calls.
  • Performance: Memoize the SAML 2.0 Protocol object (currently re-loading the file each time we validate)

@johnnyshields johnnyshields changed the title [BLOCKED] v2.x - Nokogiri Refactor Part 5: Extract out RubySaml::XML::Decryptor [BLOCKED] v2.x - Nokogiri Refactor Part 5: Extract out RubySaml::XML::Decryptor + Decoder Mar 16, 2025
@johnnyshields johnnyshields changed the title [BLOCKED] v2.x - Nokogiri Refactor Part 5: Extract out RubySaml::XML::Decryptor + Decoder [BLOCKED BY NOKOGIRI BUG] v2.x - Nokogiri Refactor Part 5: Extract out RubySaml::XML::Decryptor + Decoder Mar 16, 2025
@johnnyshields johnnyshields changed the title [BLOCKED BY NOKOGIRI BUG] v2.x - Nokogiri Refactor Part 5: Extract out RubySaml::XML::Decryptor + Decoder [READY] v2.x - Nokogiri Refactor Part 5: Extract out RubySaml::XML::Decryptor + Decoder Mar 19, 2025
@johnnyshields johnnyshields changed the title [READY] v2.x - Nokogiri Refactor Part 5: Extract out RubySaml::XML::Decryptor + Decoder 🚀 [READY] v2.x - Nokogiri Refactor Part 5: Extract out RubySaml::XML::Decryptor + Decoder Mar 19, 2025
@pitbulk pitbulk merged commit 026607b into SAML-Toolkits:v2.x Mar 19, 2025
20 checks passed
@pitbulk pitbulk changed the title 🚀 [READY] v2.x - Nokogiri Refactor Part 5: Extract out RubySaml::XML::Decryptor + Decoder v2.x - Nokogiri Refactor Part 5: Extract out RubySaml::XML::Decryptor + Decoder Mar 19, 2025
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.

2 participants