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

Implement Verifier solution #10

Merged
merged 43 commits into from
Nov 11, 2024

Conversation

oriolcanades
Copy link
Collaborator

Added

  • Support for OpenID Connect.
  • Support for OpenID for Verifiable Presentations (OID4VP).
  • Support for P-256 ECDSA keys.
  • Implement Human-To-Machine (H2M) authentication.
  • Implement Machine-To-Machine (M2M) authentication.
  • Implement Login page with QR code.
  • Integrate with the DOME Trust Framework for Issuers, Participants and Services verification.
  • Implement VC verification with the Revoked Credentials List.
  • Implement VP Proof of Possession verification.

Fixed

  • Fix the issue with Login page not showing Wallet URL.

oriolcanades and others added 30 commits September 19, 2024 14:47
Updates project files
* New DOME login page

* New Crypto feature (generate ECKey + did:key from a Private Key)
New Security Config with scaffolding for OpenID Connect

* WIP in custom OpenID Connect Authorization Code Flow for Verifiable Credentials

* Update info

* Update did:key creation and decode
New JWT service

* add validation fot the auth request of the OPENID CORE

* add verifiactions, and fix problem during did generation

* Add conditional for H2M and M2M

* Update CustomAuthorizationRequestConverter.java

* Filters for security

* h2m flow

added qr generation page and jwt request retrival.

* Added auth response logic to validate the vp

* vp validation chnges

* merge h2m m2m

* wip: refactor ClientLoaderConfig

* wip: add test

* wip: add check structure

* Finish JWT Claims checks

* refactor didResolver implementation

* adapt verifications

the certificate validation signature is failing

* add some tests

* Update VpValidationServiceImpl.java

* add some tests

* Update VpValidationServiceImpl.java

* wip: VP certificated input error

* Vo validation

* wip: VP certificated input error

* change settings gradle rootproject name

* wip: check vp from vp_token in assertion

* fix: check vp from vp_token in assertion

* New changes

* solve merge conflicts

* wip: Custom token

* Test for generate the access token

* add jwtcustomizer

* wip: Custom token

* return custom token

* delete jwtCustomizer bean

* add JWT type into header

* uncomment validation

* WIP: TODOs

* Add logic to retrieve the token response

* Delete the OAuthAuthorization after consum the request

* Add TODOs checks

* Add logic for verificate client in the auth code flow

* Remove Controller for tests

* Add new client

* solve merge conflicts

* getScope method

* getScope method

* refactor LEARCredentialMachine

* add same device login

* remove localhost for testing

* adjust padding for qr image background

* Retrieval of the trustFramework via GitHub repository

* Correct error on remote url

* update application profiles

* add url of github repository as config variable

* change application.yaml names

* add info to CHANGELOG.md

* delete dependency

* change header image

* solve pr comments

* add custom exception

* add custom exception handler

* delete ResponseEntity response from Oid4vp controller

* delete import

* add exception for the CustomExceptionHandler to manage cache retrieval

* refactor global exception handler

* refactor Controller to RestController

* rollback RestController

* change client loader config implementation to external yaml config file

* add interface against the trusted issuer list

* add interface against the trusted issuer list and validations on vp service

* solve PR comments

* fix default env profile implementation

* wip: logs to deployment

* expose health endpoint

* add management dependency

* add local configs

* change LEARCredentialMachine dto attributes names

* fix some reference to LearCredentialMachine

* fix some attributes from LearCredentialEmployee

* add logs for debugging

* update scope for learcredential

* add logs for debugging

* change scope name

* fix exp access token

* fix fixme

* add websocket logic for redirection

* update scope

* remove origin retrieval from the token request

* remove state validation for testing

* add some tests

* add some tests

* add token log

* add state validation on token request as optional

* add CUstom Token Request Converter M2M tests

* add Auth Provider Tests

* add H2M Converter Tests

* update scope

* add Custom Error Response Handler unit tests

* init CustomAuthorizationRequestConverterTest

---------

Co-authored-by: Oriol Canadés <oriol.canades@in2.es>
Co-authored-by: Oriol Canadés <83498869+oriolcanadesin2@users.noreply.github.com>
Co-authored-by: RubenModamioGarcia <ruben.modamio@in2.es>
Co-authored-by: albertrodriguezin2 <166031280+albertrodriguezin2@users.noreply.github.com>
Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
1 Security Hotspot
70.6% Coverage on New Code (required ≥ 80%)

See analysis details on SonarCloud

@rubenmodamioin2 rubenmodamioin2 merged commit decfd54 into main Nov 11, 2024
3 of 4 checks passed
@rubenmodamioin2 rubenmodamioin2 deleted the feature/implement-verifier-solution branch November 11, 2024 09:35
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.

4 participants