omniauth_openid_federation 1.2.2 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -1
  3. data/README.md +210 -708
  4. data/app/controllers/omniauth_openid_federation/federation_controller.rb +14 -1
  5. data/config/routes.rb +20 -10
  6. data/examples/config/initializers/devise.rb.example +44 -55
  7. data/examples/config/initializers/federation_endpoint.rb.example +2 -2
  8. data/examples/config/open_id_connect_config.rb.example +12 -15
  9. data/examples/config/routes.rb.example +9 -5
  10. data/examples/integration_test_flow.rb +4 -4
  11. data/examples/mock_op_server.rb +3 -3
  12. data/examples/mock_rp_server.rb +3 -3
  13. data/lib/omniauth_openid_federation/configuration.rb +8 -0
  14. data/lib/omniauth_openid_federation/constants.rb +5 -0
  15. data/lib/omniauth_openid_federation/entity_statement_reader.rb +39 -14
  16. data/lib/omniauth_openid_federation/federation/entity_statement_builder.rb +7 -14
  17. data/lib/omniauth_openid_federation/federation/entity_statement_helper.rb +40 -11
  18. data/lib/omniauth_openid_federation/federation/entity_statement_validator.rb +6 -87
  19. data/lib/omniauth_openid_federation/federation/trust_chain_resolver.rb +3 -15
  20. data/lib/omniauth_openid_federation/federation_endpoint.rb +39 -193
  21. data/lib/omniauth_openid_federation/jwks/decode.rb +0 -15
  22. data/lib/omniauth_openid_federation/jwks/rotate.rb +45 -20
  23. data/lib/omniauth_openid_federation/jws.rb +23 -20
  24. data/lib/omniauth_openid_federation/rack_endpoint.rb +30 -5
  25. data/lib/omniauth_openid_federation/strategy.rb +143 -194
  26. data/lib/omniauth_openid_federation/tasks_helper.rb +501 -2
  27. data/lib/omniauth_openid_federation/time_helpers.rb +60 -0
  28. data/lib/omniauth_openid_federation/utils.rb +4 -7
  29. data/lib/omniauth_openid_federation/validators.rb +294 -8
  30. data/lib/omniauth_openid_federation/version.rb +1 -1
  31. data/lib/omniauth_openid_federation.rb +1 -0
  32. data/lib/tasks/omniauth_openid_federation.rake +301 -2
  33. data/sig/federation.rbs +0 -8
  34. data/sig/jwks.rbs +0 -6
  35. data/sig/omniauth_openid_federation.rbs +6 -1
  36. data/sig/strategy.rbs +0 -2
  37. metadata +100 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9e8f49a0fa8dcdb16ab2eedc416b58ab370af6588d002ae78a2a1aa1a0a6ade1
4
- data.tar.gz: ce433267ab3093c00c267a8d57de12766f931ccc0eb3a2713bbe13413465af30
3
+ metadata.gz: 8f8bba8b102bcf8c24fdd775d5d898d92b27c27d8e6df40c63ff23756aee4f8d
4
+ data.tar.gz: 900a1851f0a9917b5593f6146d965271180a979d312b9ff5fa15c295578172e5
5
5
  SHA512:
6
- metadata.gz: 25d0cb7725bfbbde1b836813ae64c0321231ba5c205c5972f5f162a37a1f81edf18f138158895e12131e2d02b10425d17dc1d823e89a2a3c652d1e0a76d30e18
7
- data.tar.gz: 250ad8244fe94cb65ed702debf8dd1e121bfbfc8d386be4b4b901ef8ea372ab762ac02ea88e89f1967f4c5516083a26161abb8264c8475ba1a772926379c5587
6
+ metadata.gz: 31a7bcc8b8e1661dc9bcc13604e2e92279d81501e0a1da25b8b48a6f9bf35251489720aa1879b6beeb89de32bd2970d72c086e58b1be43d0f4c125809339fb51
7
+ data.tar.gz: 5c27ea824e18a49a0fe899f6f6f2ade3c6a10872ade9b2eca3690cada27e06aa5ada813f1cdf34763881bc8c4ee5d1033f0a7ed821a8378602ee72db169150f7
data/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 1.3.2 (2025-12-09)
4
+
5
+ - Added `TimeHelpers` module for compatibility with non-Rails environments
6
+ - Replaced `Time.zone` usage with `TimeHelpers` to work with or without ActiveSupport
7
+
8
+ ## 1.3.1 (2025-12-09)
9
+
10
+ - Enhanced SSL configuration for HTTPS requests in tasks_helper.rb
11
+ - Updated federation controller to use ApplicationController
12
+ - Updated routes to have semaphore if it is already loaded
13
+ - Updated gemfiles and workflows for Rails 8 compatibility
14
+ - Improved time handling in integration and mock server classes using Time.zone.now
15
+
16
+ ## 1.3.0 (2025-11-28)
17
+
18
+ - Added `prepare_request_object_params` proc option to customize request parameters before signing
19
+ - Enhanced security validation for all user-provided parameters
20
+ - Improved `acr_values` handling per OpenID Connect Core 1.0 specification
21
+
3
22
  ## 1.2.2 (2025-11-27)
4
23
 
5
24
  - Fix gemfile to include app and config directories
@@ -38,7 +57,7 @@
38
57
  - Automatic provider key rotation handling for seamless key updates
39
58
  - Built-in security features: rate limiting, path traversal protection, and error sanitization
40
59
  - Production-ready with thread-safe configuration and intelligent retry logic
41
- - Works with any OpenID Federation provider, supporting provider-specific extensions
60
+ - Works with any OpenID Federation provider, supporting custom extension parameters
42
61
  - Framework-agnostic: compatible with Rails, Sinatra, Rack, and other Rack-compatible frameworks
43
62
  - Comprehensive management tools for entity statements and key management
44
63
  - Enhanced developer experience with type signatures for better IDE support