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

Critical code review PR - Last sprint handover checklist of 0.1.0 release #27

Draft
wants to merge 43 commits into
base: master
Choose a base branch
from

Conversation

vishwa-vyom
Copy link
Member

This PR is created just to add the review comments as part of the critical code review task of last sprint handover checklist for release of 0.1.0 version.

** THIS PR SHOULD NOT BE MERGED **

PuBHARGAVI and others added 30 commits September 3, 2024 11:41
* [INJIMOB-1629] add a Kotlin module to implement the OpenID4VP Android native artifact

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add logic to decode, parse authorization request and authenticate verifier using clientID received in request

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] override deserialize method of kotlin serialization library to add null check validations for mandatory fields and add validate method in all classes to check for other validations

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] reorganize the folder structure to group related code

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add validation in field class to check if the path variable is starting with regex mentioned in the spec

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] use apache codec binary base64 decoder to decode received authorization request

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] refactor getAuthenticationResponse method to support scope request param and add necessary error scenarios

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add method to construct and return vp token to wallet to get the proof section and signature value of it

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add method to receive vp token signature value and send http post request to the verifier

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add serializable annotation to proof, vpToken related classes to add alias name for the context class variable in generated json string

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] rename field class to fields to match the spec and set default value of optional fields to null in all classes to fix deserialization issue

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add testcases for Authorization requst success and error scenarios

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] pass the shareVp methods arguments as vpResponseMetadata instance and handle vp sharing network call and it's exceptions

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] mark presentation submission class as serializable and add serial names for the class variables

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add uuid generator util function to generate unique uuid value for vp_token and presentation_submission

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] return response body as string in network manager if response status is successful and throw errors for different scenarios

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] make changes in the vpResponseMetadata class to throw error if any input parameter is empty

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add testing dependencies and write different test cases for Authorization Request class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] write different test cases for Authorization Response class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] write different test cases for decoder class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] make changes in the vpResponseMetadata class to throw error if any input parameter value is null

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove format field from all the files to support draft 13 changes

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] rename shared folder to common folder

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] mark limit disclosure class as serializable

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add logger class and log the error messages wherever we are throwing errors in the code

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] format all the files

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add jacoco plugin and task for generating code coverage report

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add test for checking invalid path param and refactor error message variable names in test cases

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] extract serializer outside in all the auth request classes and override the serialize method and create function to handle the exceptions

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove index from the error messages to keep the error messages consistent in deserialize and validate methods

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] write test cases for input descriptor and presentation definition classes

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] change invalid input exception message

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] ignore serialize overrided methods of auth request classes

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] write test cases for constraints, fields & filter classes

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] write test cases for logger class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add configuration for generating artifact and publishing it into maven

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] convert Authorization response class methods into static methods using companion and remove auth response variable in openId4VP class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add workflows for push trigger and for publishing the artifact into maven

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] return exception from logger class handle exception method rather than throwing it

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove inji reference from authorization request test class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] throw custom errors for any issues occured during serialization and query params extraction

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add readme file in kotlin openId4VP folder explaining the functionalities and APIs

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] refactor invalid input exception message

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove sharingTimeoutInMilliseconds argument from vpResponseMetadata class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add code to send error to the verifier via post request if response uri is valid

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove example folder

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] make http call synchronous when sending error message to the verifier and refactor few error messages

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove redundant exception suffix for some of the exceptions in all files

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] update artifact version and readme

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add license file

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] update gitignore file to ignore .idea folder and delete them

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] update publish artifact file with missing pom properties

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] avoid passing openId4VP class reference to the methods and use setter methods and pass actual params directly

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

---------

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
…ods (#2)

* [INJIMOB-1629] add a Kotlin module to implement the OpenID4VP Android native artifact

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add logic to decode, parse authorization request and authenticate verifier using clientID received in request

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] override deserialize method of kotlin serialization library to add null check validations for mandatory fields and add validate method in all classes to check for other validations

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] reorganize the folder structure to group related code

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add validation in field class to check if the path variable is starting with regex mentioned in the spec

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] use apache codec binary base64 decoder to decode received authorization request

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] refactor getAuthenticationResponse method to support scope request param and add necessary error scenarios

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add method to construct and return vp token to wallet to get the proof section and signature value of it

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add method to receive vp token signature value and send http post request to the verifier

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add serializable annotation to proof, vpToken related classes to add alias name for the context class variable in generated json string

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] rename field class to fields to match the spec and set default value of optional fields to null in all classes to fix deserialization issue

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add testcases for Authorization requst success and error scenarios

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] pass the shareVp methods arguments as vpResponseMetadata instance and handle vp sharing network call and it's exceptions

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] mark presentation submission class as serializable and add serial names for the class variables

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add uuid generator util function to generate unique uuid value for vp_token and presentation_submission

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] return response body as string in network manager if response status is successful and throw errors for different scenarios

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] make changes in the vpResponseMetadata class to throw error if any input parameter is empty

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add testing dependencies and write different test cases for Authorization Request class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] write different test cases for Authorization Response class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] write different test cases for decoder class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] make changes in the vpResponseMetadata class to throw error if any input parameter value is null

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove format field from all the files to support draft 13 changes

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] rename shared folder to common folder

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] mark limit disclosure class as serializable

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add logger class and log the error messages wherever we are throwing errors in the code

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] format all the files

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add jacoco plugin and task for generating code coverage report

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add test for checking invalid path param and refactor error message variable names in test cases

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] extract serializer outside in all the auth request classes and override the serialize method and create function to handle the exceptions

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove index from the error messages to keep the error messages consistent in deserialize and validate methods

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] write test cases for input descriptor and presentation definition classes

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] change invalid input exception message

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] ignore serialize overrided methods of auth request classes

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] write test cases for constraints, fields & filter classes

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] write test cases for logger class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add configuration for generating artifact and publishing it into maven

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] convert Authorization response class methods into static methods using companion and remove auth response variable in openId4VP class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add workflows for push trigger and for publishing the artifact into maven

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] return exception from logger class handle exception method rather than throwing it

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove inji reference from authorization request test class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] throw custom errors for any issues occured during serialization and query params extraction

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add readme file in kotlin openId4VP folder explaining the functionalities and APIs

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] refactor invalid input exception message

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove sharingTimeoutInMilliseconds argument from vpResponseMetadata class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add code to send error to the verifier via post request if response uri is valid

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove example folder

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] make http call synchronous when sending error message to the verifier and refactor few error messages

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove redundant exception suffix for some of the exceptions in all files

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] update artifact version and readme

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add license file

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] update gitignore file to ignore .idea folder and delete them

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] update publish artifact file with missing pom properties

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] avoid passing openId4VP class reference to the methods and use setter methods and pass actual params directly

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] convert responseUri and presentationDefinitionId setter methods into non-static methods and pass them as arguments to another classes

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] rename android publsih file to android maven publish

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

---------

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
Signed-off-by: Alka Prasad <prasadalka1998@gmail.com>
… wrapper task (#5)

* [INJIMOB-1629] add a Kotlin module to implement the OpenID4VP Android native artifact

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add logic to decode, parse authorization request and authenticate verifier using clientID received in request

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] override deserialize method of kotlin serialization library to add null check validations for mandatory fields and add validate method in all classes to check for other validations

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] reorganize the folder structure to group related code

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add validation in field class to check if the path variable is starting with regex mentioned in the spec

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] use apache codec binary base64 decoder to decode received authorization request

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] refactor getAuthenticationResponse method to support scope request param and add necessary error scenarios

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add method to construct and return vp token to wallet to get the proof section and signature value of it

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add method to receive vp token signature value and send http post request to the verifier

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add serializable annotation to proof, vpToken related classes to add alias name for the context class variable in generated json string

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] rename field class to fields to match the spec and set default value of optional fields to null in all classes to fix deserialization issue

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add testcases for Authorization requst success and error scenarios

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] pass the shareVp methods arguments as vpResponseMetadata instance and handle vp sharing network call and it's exceptions

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] mark presentation submission class as serializable and add serial names for the class variables

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add uuid generator util function to generate unique uuid value for vp_token and presentation_submission

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] return response body as string in network manager if response status is successful and throw errors for different scenarios

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] make changes in the vpResponseMetadata class to throw error if any input parameter is empty

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add testing dependencies and write different test cases for Authorization Request class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] write different test cases for Authorization Response class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] write different test cases for decoder class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] make changes in the vpResponseMetadata class to throw error if any input parameter value is null

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove format field from all the files to support draft 13 changes

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] rename shared folder to common folder

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] mark limit disclosure class as serializable

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add logger class and log the error messages wherever we are throwing errors in the code

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] format all the files

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add jacoco plugin and task for generating code coverage report

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add test for checking invalid path param and refactor error message variable names in test cases

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] extract serializer outside in all the auth request classes and override the serialize method and create function to handle the exceptions

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove index from the error messages to keep the error messages consistent in deserialize and validate methods

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] write test cases for input descriptor and presentation definition classes

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] change invalid input exception message

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] ignore serialize overrided methods of auth request classes

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] write test cases for constraints, fields & filter classes

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] write test cases for logger class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add configuration for generating artifact and publishing it into maven

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] convert Authorization response class methods into static methods using companion and remove auth response variable in openId4VP class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add workflows for push trigger and for publishing the artifact into maven

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] return exception from logger class handle exception method rather than throwing it

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove inji reference from authorization request test class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] throw custom errors for any issues occured during serialization and query params extraction

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add readme file in kotlin openId4VP folder explaining the functionalities and APIs

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] refactor invalid input exception message

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove sharingTimeoutInMilliseconds argument from vpResponseMetadata class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add code to send error to the verifier via post request if response uri is valid

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove example folder

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] make http call synchronous when sending error message to the verifier and refactor few error messages

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove redundant exception suffix for some of the exceptions in all files

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] update artifact version and readme

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add license file

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] update gitignore file to ignore .idea folder and delete them

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] update publish artifact file with missing pom properties

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] avoid passing openId4VP class reference to the methods and use setter methods and pass actual params directly

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] convert responseUri and presentationDefinitionId setter methods into non-static methods and pass them as arguments to another classes

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] rename android publsih file to android maven publish

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add gradle support to openId4vp native module by adding wrapper task

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] set networkTimeout property in gradle wrapper properties file of kotlin folder

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

---------

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
…allet and rename openid4vp folder name to match spec (#6)

* [INJIMOB-1629] add a Kotlin module to implement the OpenID4VP Android native artifact

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add logic to decode, parse authorization request and authenticate verifier using clientID received in request

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] override deserialize method of kotlin serialization library to add null check validations for mandatory fields and add validate method in all classes to check for other validations

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] reorganize the folder structure to group related code

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add validation in field class to check if the path variable is starting with regex mentioned in the spec

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] use apache codec binary base64 decoder to decode received authorization request

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] refactor getAuthenticationResponse method to support scope request param and add necessary error scenarios

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add method to construct and return vp token to wallet to get the proof section and signature value of it

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add method to receive vp token signature value and send http post request to the verifier

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add serializable annotation to proof, vpToken related classes to add alias name for the context class variable in generated json string

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] rename field class to fields to match the spec and set default value of optional fields to null in all classes to fix deserialization issue

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add testcases for Authorization requst success and error scenarios

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] pass the shareVp methods arguments as vpResponseMetadata instance and handle vp sharing network call and it's exceptions

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] mark presentation submission class as serializable and add serial names for the class variables

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add uuid generator util function to generate unique uuid value for vp_token and presentation_submission

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] return response body as string in network manager if response status is successful and throw errors for different scenarios

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] make changes in the vpResponseMetadata class to throw error if any input parameter is empty

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add testing dependencies and write different test cases for Authorization Request class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] write different test cases for Authorization Response class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] write different test cases for decoder class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] make changes in the vpResponseMetadata class to throw error if any input parameter value is null

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove format field from all the files to support draft 13 changes

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] rename shared folder to common folder

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] mark limit disclosure class as serializable

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add logger class and log the error messages wherever we are throwing errors in the code

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] format all the files

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add jacoco plugin and task for generating code coverage report

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add test for checking invalid path param and refactor error message variable names in test cases

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] extract serializer outside in all the auth request classes and override the serialize method and create function to handle the exceptions

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove index from the error messages to keep the error messages consistent in deserialize and validate methods

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] write test cases for input descriptor and presentation definition classes

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] change invalid input exception message

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] ignore serialize overrided methods of auth request classes

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] write test cases for constraints, fields & filter classes

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] write test cases for logger class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add configuration for generating artifact and publishing it into maven

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] convert Authorization response class methods into static methods using companion and remove auth response variable in openId4VP class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add workflows for push trigger and for publishing the artifact into maven

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] return exception from logger class handle exception method rather than throwing it

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove inji reference from authorization request test class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] throw custom errors for any issues occured during serialization and query params extraction

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add readme file in kotlin openId4VP folder explaining the functionalities and APIs

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] refactor invalid input exception message

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove sharingTimeoutInMilliseconds argument from vpResponseMetadata class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add code to send error to the verifier via post request if response uri is valid

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove example folder

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] make http call synchronous when sending error message to the verifier and refactor few error messages

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove redundant exception suffix for some of the exceptions in all files

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] update artifact version and readme

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add license file

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] update gitignore file to ignore .idea folder and delete them

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] update publish artifact file with missing pom properties

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] avoid passing openId4VP class reference to the methods and use setter methods and pass actual params directly

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] convert responseUri and presentationDefinitionId setter methods into non-static methods and pass them as arguments to another classes

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] rename android publsih file to android maven publish

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add gradle support to openId4vp native module by adding wrapper task

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] set networkTimeout property in gradle wrapper properties file of kotlin folder

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] downgrade java version and remove unused dependencies

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] rename openId4VP to openID4VP in all places

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] downgrade core ktx library version to 1.9.0

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add dependencies nodes and remove explicit archive base name assignment for assembleRelease build variant in publish artifact file

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] make changes to get only the encoded part of qr code data by removing the prefix of the request

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add archive base name assignment for assembleRelease build variant back in publish artifact file

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] change the license name and url to use MPL-2.0 in publish artifact file

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* Revert "[INJIMOB-1629] change the license name and url to use MPL-2.0 in publish artifact file"

This reverts commit 959142f.

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

---------

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
* [INJIMOB-1629] add a Kotlin module to implement the OpenID4VP Android native artifact

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add logic to decode, parse authorization request and authenticate verifier using clientID received in request

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] override deserialize method of kotlin serialization library to add null check validations for mandatory fields and add validate method in all classes to check for other validations

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] reorganize the folder structure to group related code

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add validation in field class to check if the path variable is starting with regex mentioned in the spec

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] use apache codec binary base64 decoder to decode received authorization request

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] refactor getAuthenticationResponse method to support scope request param and add necessary error scenarios

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add method to construct and return vp token to wallet to get the proof section and signature value of it

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add method to receive vp token signature value and send http post request to the verifier

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add serializable annotation to proof, vpToken related classes to add alias name for the context class variable in generated json string

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] rename field class to fields to match the spec and set default value of optional fields to null in all classes to fix deserialization issue

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add testcases for Authorization requst success and error scenarios

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] pass the shareVp methods arguments as vpResponseMetadata instance and handle vp sharing network call and it's exceptions

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] mark presentation submission class as serializable and add serial names for the class variables

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add uuid generator util function to generate unique uuid value for vp_token and presentation_submission

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] return response body as string in network manager if response status is successful and throw errors for different scenarios

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] make changes in the vpResponseMetadata class to throw error if any input parameter is empty

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add testing dependencies and write different test cases for Authorization Request class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] write different test cases for Authorization Response class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] write different test cases for decoder class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] make changes in the vpResponseMetadata class to throw error if any input parameter value is null

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove format field from all the files to support draft 13 changes

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] rename shared folder to common folder

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] mark limit disclosure class as serializable

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add logger class and log the error messages wherever we are throwing errors in the code

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] format all the files

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add jacoco plugin and task for generating code coverage report

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add test for checking invalid path param and refactor error message variable names in test cases

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] extract serializer outside in all the auth request classes and override the serialize method and create function to handle the exceptions

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove index from the error messages to keep the error messages consistent in deserialize and validate methods

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] write test cases for input descriptor and presentation definition classes

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] change invalid input exception message

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] ignore serialize overrided methods of auth request classes

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] write test cases for constraints, fields & filter classes

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] write test cases for logger class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add configuration for generating artifact and publishing it into maven

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] convert Authorization response class methods into static methods using companion and remove auth response variable in openId4VP class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add workflows for push trigger and for publishing the artifact into maven

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] return exception from logger class handle exception method rather than throwing it

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove inji reference from authorization request test class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] throw custom errors for any issues occured during serialization and query params extraction

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add readme file in kotlin openId4VP folder explaining the functionalities and APIs

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] refactor invalid input exception message

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove sharingTimeoutInMilliseconds argument from vpResponseMetadata class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add code to send error to the verifier via post request if response uri is valid

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove example folder

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] make http call synchronous when sending error message to the verifier and refactor few error messages

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove redundant exception suffix for some of the exceptions in all files

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] update artifact version and readme

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add license file

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] update gitignore file to ignore .idea folder and delete them

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] update publish artifact file with missing pom properties

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] avoid passing openId4VP class reference to the methods and use setter methods and pass actual params directly

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] convert responseUri and presentationDefinitionId setter methods into non-static methods and pass them as arguments to another classes

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] rename android publsih file to android maven publish

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add gradle support to openId4vp native module by adding wrapper task

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] set networkTimeout property in gradle wrapper properties file of kotlin folder

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] downgrade java version and remove unused dependencies

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] rename openId4VP to openID4VP in all places

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] downgrade core ktx library version to 1.9.0

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add dependencies nodes and remove explicit archive base name assignment for assembleRelease build variant in publish artifact file

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] make changes to get only the encoded part of qr code data by removing the prefix of the request

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add archive base name assignment for assembleRelease build variant back in publish artifact file

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] change the license name and url to use MPL-2.0 in publish artifact file

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* Revert "[INJIMOB-1629] change the license name and url to use MPL-2.0 in publish artifact file"

This reverts commit 959142f.

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] rename openId4VP to openID4VP in workflow files

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

---------

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
* [INJIMOB-1629] add a Kotlin module to implement the OpenID4VP Android native artifact

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add logic to decode, parse authorization request and authenticate verifier using clientID received in request

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] override deserialize method of kotlin serialization library to add null check validations for mandatory fields and add validate method in all classes to check for other validations

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] reorganize the folder structure to group related code

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add validation in field class to check if the path variable is starting with regex mentioned in the spec

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] use apache codec binary base64 decoder to decode received authorization request

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] refactor getAuthenticationResponse method to support scope request param and add necessary error scenarios

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add method to construct and return vp token to wallet to get the proof section and signature value of it

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add method to receive vp token signature value and send http post request to the verifier

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add serializable annotation to proof, vpToken related classes to add alias name for the context class variable in generated json string

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] rename field class to fields to match the spec and set default value of optional fields to null in all classes to fix deserialization issue

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add testcases for Authorization requst success and error scenarios

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] pass the shareVp methods arguments as vpResponseMetadata instance and handle vp sharing network call and it's exceptions

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] mark presentation submission class as serializable and add serial names for the class variables

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add uuid generator util function to generate unique uuid value for vp_token and presentation_submission

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] return response body as string in network manager if response status is successful and throw errors for different scenarios

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] make changes in the vpResponseMetadata class to throw error if any input parameter is empty

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add testing dependencies and write different test cases for Authorization Request class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] write different test cases for Authorization Response class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] write different test cases for decoder class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] make changes in the vpResponseMetadata class to throw error if any input parameter value is null

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove format field from all the files to support draft 13 changes

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] rename shared folder to common folder

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] mark limit disclosure class as serializable

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add logger class and log the error messages wherever we are throwing errors in the code

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] format all the files

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add jacoco plugin and task for generating code coverage report

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add test for checking invalid path param and refactor error message variable names in test cases

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] extract serializer outside in all the auth request classes and override the serialize method and create function to handle the exceptions

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove index from the error messages to keep the error messages consistent in deserialize and validate methods

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] write test cases for input descriptor and presentation definition classes

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] change invalid input exception message

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] ignore serialize overrided methods of auth request classes

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] write test cases for constraints, fields & filter classes

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] write test cases for logger class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add configuration for generating artifact and publishing it into maven

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] convert Authorization response class methods into static methods using companion and remove auth response variable in openId4VP class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add workflows for push trigger and for publishing the artifact into maven

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] return exception from logger class handle exception method rather than throwing it

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove inji reference from authorization request test class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] throw custom errors for any issues occured during serialization and query params extraction

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add readme file in kotlin openId4VP folder explaining the functionalities and APIs

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] refactor invalid input exception message

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove sharingTimeoutInMilliseconds argument from vpResponseMetadata class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add code to send error to the verifier via post request if response uri is valid

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove example folder

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] make http call synchronous when sending error message to the verifier and refactor few error messages

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove redundant exception suffix for some of the exceptions in all files

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] update artifact version and readme

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add license file

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] update gitignore file to ignore .idea folder and delete them

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] update publish artifact file with missing pom properties

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] avoid passing openId4VP class reference to the methods and use setter methods and pass actual params directly

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] convert responseUri and presentationDefinitionId setter methods into non-static methods and pass them as arguments to another classes

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] rename android publsih file to android maven publish

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add gradle support to openId4vp native module by adding wrapper task

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] set networkTimeout property in gradle wrapper properties file of kotlin folder

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] downgrade java version and remove unused dependencies

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] rename openId4VP to openID4VP in all places

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] downgrade core ktx library version to 1.9.0

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add dependencies nodes and remove explicit archive base name assignment for assembleRelease build variant in publish artifact file

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] make changes to get only the encoded part of qr code data by removing the prefix of the request

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add archive base name assignment for assembleRelease build variant back in publish artifact file

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] change the license name and url to use MPL-2.0 in publish artifact file

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* Revert "[INJIMOB-1629] change the license name and url to use MPL-2.0 in publish artifact file"

This reverts commit 959142f.

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] rename openId4VP to openID4VP in workflow files

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] change the license to use MPL-2.0 in publish artifact file

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

---------

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
* [INJIMOB-1629] add a Kotlin module to implement the OpenID4VP Android native artifact

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add logic to decode, parse authorization request and authenticate verifier using clientID received in request

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] override deserialize method of kotlin serialization library to add null check validations for mandatory fields and add validate method in all classes to check for other validations

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] reorganize the folder structure to group related code

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add validation in field class to check if the path variable is starting with regex mentioned in the spec

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] use apache codec binary base64 decoder to decode received authorization request

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] refactor getAuthenticationResponse method to support scope request param and add necessary error scenarios

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add method to construct and return vp token to wallet to get the proof section and signature value of it

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add method to receive vp token signature value and send http post request to the verifier

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add serializable annotation to proof, vpToken related classes to add alias name for the context class variable in generated json string

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] rename field class to fields to match the spec and set default value of optional fields to null in all classes to fix deserialization issue

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add testcases for Authorization requst success and error scenarios

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] pass the shareVp methods arguments as vpResponseMetadata instance and handle vp sharing network call and it's exceptions

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] mark presentation submission class as serializable and add serial names for the class variables

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add uuid generator util function to generate unique uuid value for vp_token and presentation_submission

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] return response body as string in network manager if response status is successful and throw errors for different scenarios

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] make changes in the vpResponseMetadata class to throw error if any input parameter is empty

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add testing dependencies and write different test cases for Authorization Request class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] write different test cases for Authorization Response class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] write different test cases for decoder class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] make changes in the vpResponseMetadata class to throw error if any input parameter value is null

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove format field from all the files to support draft 13 changes

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] rename shared folder to common folder

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] mark limit disclosure class as serializable

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add logger class and log the error messages wherever we are throwing errors in the code

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] format all the files

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add jacoco plugin and task for generating code coverage report

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add test for checking invalid path param and refactor error message variable names in test cases

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] extract serializer outside in all the auth request classes and override the serialize method and create function to handle the exceptions

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove index from the error messages to keep the error messages consistent in deserialize and validate methods

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] write test cases for input descriptor and presentation definition classes

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] change invalid input exception message

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] ignore serialize overrided methods of auth request classes

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] write test cases for constraints, fields & filter classes

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] write test cases for logger class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add configuration for generating artifact and publishing it into maven

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] convert Authorization response class methods into static methods using companion and remove auth response variable in openId4VP class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add workflows for push trigger and for publishing the artifact into maven

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] return exception from logger class handle exception method rather than throwing it

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove inji reference from authorization request test class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] throw custom errors for any issues occured during serialization and query params extraction

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add readme file in kotlin openId4VP folder explaining the functionalities and APIs

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] refactor invalid input exception message

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove sharingTimeoutInMilliseconds argument from vpResponseMetadata class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add code to send error to the verifier via post request if response uri is valid

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove example folder

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] make http call synchronous when sending error message to the verifier and refactor few error messages

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] remove redundant exception suffix for some of the exceptions in all files

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] update artifact version and readme

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add license file

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] update gitignore file to ignore .idea folder and delete them

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] update publish artifact file with missing pom properties

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] avoid passing openId4VP class reference to the methods and use setter methods and pass actual params directly

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] convert responseUri and presentationDefinitionId setter methods into non-static methods and pass them as arguments to another classes

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] rename android publsih file to android maven publish

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add gradle support to openId4vp native module by adding wrapper task

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] set networkTimeout property in gradle wrapper properties file of kotlin folder

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] downgrade java version and remove unused dependencies

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] rename openId4VP to openID4VP in all places

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] downgrade core ktx library version to 1.9.0

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add dependencies nodes and remove explicit archive base name assignment for assembleRelease build variant in publish artifact file

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] make changes to get only the encoded part of qr code data by removing the prefix of the request

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] add archive base name assignment for assembleRelease build variant back in publish artifact file

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] change the license name and url to use MPL-2.0 in publish artifact file

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* Revert "[INJIMOB-1629] change the license name and url to use MPL-2.0 in publish artifact file"

This reverts commit 959142f.

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] rename openId4VP to openID4VP in workflow files

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1629] change the license to use MPL-2.0 in publish artifact file

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-812] remove code related to scope in all places and rename responseUri to responseUris

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

---------

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
Signed-off-by: Alka Prasad <prasadalka1998@gmail.com>
… format to the wallet (#10)

* [INJIMOB-2135] add support to fetch the credentials based on the format and proof type

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-2135] return authorizationRequest instance from authentication response method instead of presentation definition alone

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-2135] refactor authorization request class to support multiple types of presentation definition and rename few methods to make them more meaningful

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-2135] send error to the verifier if any occured while constructing the vp token for signature so that verifier is aware of what happened to the request

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-2135] rename responseUri param to receivedResponseUri in validate verifier method

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-2135] add support to fetch the client_metadata from the verifier authorization request and validate it and return it to wallet as part of authentication

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-2135] change client_metadata of authorization request as optional param but keep name field of client_metadata as mandatory field

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-2135] change sendErrorToVerifier method to public method and call it from wallet native module to send error when user declined consent for sharing vp

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-2135] remove unnecessary logs

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-2135] update authentication response validate method name and parameters

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-2135] update readme describing about sendErrorToVerifier method

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-2135] add parameters section for sendErrorToVerifier method in readme file

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-2135] add a comment in Authorization request class about response uri param

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

---------

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
…sponse (#15)

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
…sponse (#16)

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
…request and fetch the presentation_definition by calling this end-point

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
…entation_definition & presentation_definition_uri

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
… part of the client_metadata of request and write test cases to validate the name and logo_url fields"

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
…type string has value as null

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
… the data in clientMetadata class

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
…her post or get request to the verifier

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
…_definition so that if any error occured we can throw that to verifier using response_uri

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
…seMetadata classfields values

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
…llNorEmpty function

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
… the key present but value is null scenario and modify invalid input exception to throw error based on field type

description: modifying the deserialize method to parse the data using jsonObject
as the inbuilt kotlin json serialization library CompositeDecoder assigns values based on the index of the field being processed. For any fields not processed (either because the key is missing or the value is null), it will assign null. Therefore, it cannot differentiate between a missing key and a key with a null value, as both result in null.

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
…eserializeField method and remove print statements

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
…nt but value is null

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
…teField method if it's value is of type string and value is null as this is a valid scenario

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
…teField method if it's value is of type string and value is null as this is a valid scenario

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
…re already checking for it in deserializer method

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
…est params

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
PuBHARGAVI and others added 9 commits December 2, 2024 00:35
…param and extract validation steps into separate methods to reduce redundant lines

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
…and logo_url to logo_uri to match with the spec

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
…lidator classes

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
[Injimob 2265] make changes to support presentation_definition_uri and return logo_url as part of client_metadata
Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
…Validation param received in authenticateVerifier method (#22)

* [INJIMOB-2538] perform client validation based on the value of clientValidation param received in authenticateVerifier method

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-2538] update the logic of checking the clientValidation param value

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-2538] rename clientValidation variable to shouldValiateClient and verify if client is valid or not only if validation is required

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

---------

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
Co-authored-by: Sreenadh S <32409698+sree96@users.noreply.github.com>
…ethod to properly interpret the params with default values (#24)

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
)

Signed-off-by: adityankannan-tw <adityan410pm@gmail.com>
Co-authored-by: adityankannan-tw <adityan410pm@gmail.com>
Copy link
Member Author

@vishwa-vyom vishwa-vyom left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed and added comments, most of the things can be discussed and taken for next release. But the items marked as critical to be discussed first.

import io.mosip.openID4VP.networkManager.NetworkManagerClient.Companion.sendHTTPRequest

private val logTag = Logger.getLogTag(AuthorizationResponse::class.simpleName!!)
class OpenID4VP(private val traceabilityId: String) {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will this way of intiallizing the class will work for mimoto kind of web applications where this layer might be a singleton bean where the same instance will be used for multiple parallel request processing.

kotlin/openID4VP/README.md Outdated Show resolved Hide resolved
kotlin/openID4VP/README.md Outdated Show resolved Hide resolved
kotlin/openID4VP/README.md Outdated Show resolved Hide resolved

| Name | Type | Description | Sample |
|------------------------------|----------------|--------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------|
| encodedAuthenticationRequest | String | Base64 encoded string containing the Verifier's authorization request | `"T1BFTklENFZQOi8vYXV0"` |
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As per spec, this is authorization request can we rename accordingly ?

requiredRequestParams.forEach { param ->
if (param == "presentation_definition") {
try {
params["presentation_definition"] = fetchPresentationDefinition(params)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fetching the presentation definition inside validateQueryParams is little confusing. Can we do this outside this method ?

}
}

fun shareVerifiablePresentation(vpResponseMetadata: VPResponseMetadata): String {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As per wallet code, it looked like it was generating the JWT instead of proper JWS. Can we have the logic here to do all the cannicalization and share only the hash part of signing to the outside code ?
We should also try to find some mechanism to keep the signing inside the library by getting a handle to the private keys.

this.vpTokenForSigning = VPTokenForSigning(
verifiableCredential = verifiableCredential,
id = UUIDGenerator.generateUUID(),
holder = ""
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is this not the did jwk based id ?

import kotlinx.serialization.json.JsonPrimitive
import kotlinx.serialization.json.boolean

class FieldDeserializer(
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why in some places deserializer is different class, in some places it is inside dto ?

adityankannan-tw and others added 4 commits February 3, 2025 10:26
…ed (#29)

Signed-off-by: adityankannan-tw <adityan.kannan@thoughtworks.com>
Signed-off-by: Alka Prasad <prasadalka1998@gmail.com>
Signed-off-by: KiruthikaJeyashankar <kiruthikavjshankar@gmail.com>
…ut interactions between openid4vp, verifier and wallet (#38)

* [INJIMOB-2367] add sequence diagram in read me file that explains about interactions between openid4vp, verifier and wallet

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-2367] move readme file into openid4vp folder

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

---------

Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
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.

7 participants