Skip to content

Conversation

@cicnavi
Copy link
Collaborator

@cicnavi cicnavi commented Feb 10, 2025

I'll go over some final cleaning up, and then plan to go out with v6 of the module.

If anyone thinks that something crucial should also be done for v6, please let me know.

cicnavi and others added 30 commits December 3, 2023 12:26
* Require lcobucci/jwt v5

* Accommodate for new immutable behavior of Builder

* Update expected error message for RP initiated logout conformance test

* Update upgrade.md

---------

Co-authored-by: Marko Ivančić <[email protected]>
* Fix psalm errors

* Use {} instead of

* Use v3 everywhere for actions/cache

* Add PHP v8.3 to tests

* Enclose key in quotes to suppress unexpected dash warning

---------

Co-authored-by: Marko Ivančić <[email protected]>
* Start with EntityStatementController

* Refactor JWT and JWKS builders to support OpenID Federation PKI configuration

* Cover ModuleConfig with unit tests

* Stop using NotFound exception bc it is imposibble to mock

* Start with SimpleSAMLphp bridge classes

* Start using enums for common options, keys... 

* Bump PHP version requirement to v8.2

* Start testing on SSP v2.2

* Initial federation entity configuration endpoint implementation

---------

Co-authored-by: Marko Ivančić <[email protected]>
…_code_and_pkce (#219)

* Support single page app browser clients using authorization code and pkce

* phpunit: mock all dependencies. Make the csrfprotection the injected dependency instead of the session.

* Use mock for ModuleConfig

* psalm changes

* Add CsrfProtection as a service

---------

Co-authored-by: Patrick Radtke <[email protected]>
Co-authored-by: Marko Ivančić <[email protected]>
* Replace use-statements with fqdn phpdocs (src)

* Replace use-statements with fqdn phpdocs (tests)

* Remove duplicate sniffs - already part of SSP test-framework
Move client State and Type to radio buttons

Hide reset secret for public client
* Add content type header for entity configuration response

* Add Registration Types property to clients

* Initial fetch endpoint implementation

---------

Co-authored-by: Marko Ivančić <[email protected]>
* Move to PHP syntax for Symfony routing

* Make authorization endpoint available as Symfony route

* Make token endpoint available as Symfony route

* Make userinfo endpoint available as Symfony route

* Make end_session endpoint available as Symfony route

* Make jwks endpoint available as Symfony route

* Update OpenID Configuration path

* Update UPGRADE doc

* Handle situation with Apache stripping of Authorization HTTP header in requests

* Leave authorization header in Docker container

---------

Co-authored-by: Marko Ivančić <[email protected]>
* DB Migration: handle sqlite outside of phpunit tests

* Fix warning for exampleauth:UserPass
…onsent_mod (#228)

* Switch to ProcessingChain for authproc filters

* Add more tests.

* Fix psalm errors

* Add some manual testing tips for authproc testing; run an authproc as part of conformance tests

* Update documentation

---------

Co-authored-by: Marko Ivančić <[email protected]>
Co-authored-by: Patrick <[email protected]>
* Bump laminas/laminas-diactoros to v3
* Refactor client registration types namespace
* Require openid-tools package
* Add federation_jwks property to clients
* Switch to docker compose

---------

Co-authored-by: Marko Ivančić <[email protected]>
* Add support for HTTP POST method on authorization endpoint

* Update request rules so to check request params based on HTTP methods

* Change namespace for request rules

* Get rid of GetClientFromRequestTrait

---------

Co-authored-by: Marko Ivančić <[email protected]>
* Introduce RequestParamsResolver
* Add jwks client property
* Add Request Object support

---------

Co-authored-by: Marko Ivančić <[email protected]>
* Do not assume the database will accept integer for boolean

* Use PDO::PARAM_BOOL when binding boolean values. Do not assume boolean value to be a tinyint.

* Add tests for RevokeTokenByAuthCodeIdTrait

* run migrations for tests

* fixing test memory db configuration

* Testcontainer multiple databases

* README.md update

* README.md update

* Improve Mac docker support; set DB timeouts

* move integration and unit tests into different directories.Using different phpunit configuration files for unit and integration tests.

* Run only the phpunit tests by default

* split the tests into two runs instead of one

* Try to merge the coverage reports

---------

Co-authored-by: Patrick Radtke <[email protected]>
* New `jwks_uri`, `signed_jwks_uri`, `registration_type`, `updated_at`, `created_at`, `expires_at`, `is_federated` client properties
* Federation Request Object support
* Trust Chain Resolution support
* Automatic Client Registration support

---------

Co-authored-by: Marko Ivančić <[email protected]>
…#250)

* Initial private_key_jwt implementation
* Introduce Protocol Cache for Client Assertion token reuse check

---------

Co-authored-by: Marko Ivančić <[email protected]>
* Remove iss param requirement from fetch endpoint, per OIDF draft 39

* Update notions of .well-known URLs

* Update readme

* Add other supported algos in federation context

* Update jwt signature config

* Fix psalm

---------

Co-authored-by: Marko Ivančić <[email protected]>
cicnavi and others added 23 commits January 27, 2025 10:55
* Add cache to client repository
* Add cache to access token repository
* Add cache to AllowedOriginRepository
* Add cache to AuthCodeRepository
* Add cache to RefreshTokenRepository
* Move PDO logic from entities to repositories
* Get rid off RevokeTokenByAuthCodeIdTrait
* Add coverage
* Update readme
* Add Trust Mark validation capabilities

* Add federation participation limiting capabilities based on Trust Marks
* Move module_oidc.php to module_oidc.php.dist

* Adjust path to config in tests

* Adjust path to config in integration tests
… scenario (#283)

* Add key rollover options

* Add coverage

* Update docs
* Remove OAuth2 Implicit flow

* Update docs

* Add some coverage
Merge pull request #292 from simplesamlphp/wip-version-6-cleanup
@codecov
Copy link

codecov bot commented Feb 11, 2025

Codecov Report

Attention: Patch coverage is 52.39986% with 1319 lines in your changes missing coverage. Please review.

Project coverage is 52.66%. Comparing base (c568af5) to head (5120124).
Report is 82 commits behind head on master.

Files with missing lines Patch % Lines
src/Factories/Entities/ClientEntityFactory.php 0.00% 206 Missing ⚠️
...ntrollers/Federation/EntityStatementController.php 1.88% 156 Missing ⚠️
src/Controllers/Admin/TestController.php 0.00% 97 Missing ⚠️
src/Server/RequestRules/Rules/ClientIdRule.php 13.88% 93 Missing ⚠️
src/Server/Grants/AuthCodeGrant.php 1.42% 69 Missing ⚠️
src/Factories/RequestRulesManagerFactory.php 0.00% 66 Missing ⚠️
...er/RequestRules/Rules/ClientAuthenticationRule.php 0.00% 63 Missing ⚠️
src/Forms/ClientForm.php 62.12% 50 Missing ⚠️
...rc/Factories/Entities/AccessTokenEntityFactory.php 0.00% 49 Missing ⚠️
src/Factories/Entities/AuthCodeEntityFactory.php 0.00% 43 Missing ⚠️
... and 38 more
Additional details and impacted files
@@             Coverage Diff              @@
##             master     #291      +/-   ##
============================================
- Coverage     53.35%   52.66%   -0.70%     
- Complexity      984     1463     +479     
============================================
  Files           109      140      +31     
  Lines          3812     6361    +2549     
============================================
+ Hits           2034     3350    +1316     
- Misses         1778     3011    +1233     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

cicnavi and others added 3 commits February 11, 2025 11:44
* Start with text message IDs

* Update translations

* Fix some of the Dutch translations

* Add Croatian language

* Add es, fr, it langs back as empty translation files

---------

Co-authored-by: Tim van Dijen <[email protected]>
@cicnavi cicnavi marked this pull request as ready for review February 12, 2025 09:52
@cicnavi cicnavi merged commit b0a2d39 into master Feb 12, 2025
14 of 15 checks passed
@cicnavi cicnavi deleted the wip-version-6 branch February 12, 2025 09:53
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.

5 participants