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

Introduce APP KEY feature of Laravel #9895

Closed
touhidurabir opened this issue Apr 18, 2024 · 6 comments
Closed

Introduce APP KEY feature of Laravel #9895

touhidurabir opened this issue Apr 18, 2024 · 6 comments
Assignees
Labels
Enhancement:2:Moderate A new feature or improvement that can be implemented in less than 4 weeks. Housekeeping:1:Todo Any dependency management or refactor that would be nice to have some day.
Milestone

Comments

@touhidurabir
Copy link
Member

touhidurabir commented Apr 18, 2024

Describe the Proposal
Introduce the Laravel like APP KEY feature/behaviour for next release of OJS/OMP/OPS . This will be a required details need to set which will be required at the app bootstrapping .

Additional Information
With the merge of Convert session and cookie management to Laravel, we have the ability to make the cookie encrypted and that feature added . However we have limited chiper support for the cookie encryption because we do not have full featured app key behaviour implemented . By introducing the app key we can have bring in the full encryption support of laravel.

However this will not only have impact for cookie encryption but for any encryption and auth token generation process and we can leverage the native laravel built in functionality for that purpose . Also this does not impact with any hashing functionality e.g. password hashing .

Possible Implementation flow

  1. A config option named app_key
  2. Command line tool to generate/update app key
  3. config option to on/off cookie encryption
  4. config option to set cipher settings e.g. aes-128-cbc/aes-256-cbc/aes-128-gcm/aes-256-gcm
  5. keeping the app key optional of app bootstrapping process but required for encryption/decryption process .
  6. upgrade migration to set the app key in app_key variable present in the config.inc.php file, it will not throw error but log error in missing or failed .

Impacted systems
OJS/OMP/OPS main(3.5.0 pre release)

**PRs **
pkp-lib --> #9918
ojs --> pkp/ojs#4257
omp --> pkp/omp#1575
ops --> pkp/ops#690

@touhidurabir touhidurabir added this to the 3.5.0 LTS milestone Apr 18, 2024
@touhidurabir touhidurabir added Housekeeping:1:Todo Any dependency management or refactor that would be nice to have some day. Enhancement:2:Moderate A new feature or improvement that can be implemented in less than 4 weeks. labels Apr 18, 2024
touhidurabir added a commit to touhidurabir/pkp-lib that referenced this issue Apr 28, 2024
touhidurabir added a commit to touhidurabir/ojs that referenced this issue Apr 28, 2024
touhidurabir added a commit to touhidurabir/ojs that referenced this issue Apr 28, 2024
touhidurabir added a commit to touhidurabir/pkp-lib that referenced this issue May 2, 2024
touhidurabir added a commit to touhidurabir/ojs that referenced this issue May 2, 2024
touhidurabir added a commit to touhidurabir/ojs that referenced this issue May 2, 2024
touhidurabir added a commit to touhidurabir/pkp-lib that referenced this issue May 3, 2024
touhidurabir added a commit to touhidurabir/pkp-lib that referenced this issue May 3, 2024
touhidurabir added a commit to touhidurabir/pkp-lib that referenced this issue May 3, 2024
touhidurabir added a commit to touhidurabir/pkp-lib that referenced this issue May 3, 2024
touhidurabir added a commit to touhidurabir/ojs that referenced this issue May 3, 2024
touhidurabir added a commit to touhidurabir/ojs that referenced this issue May 3, 2024
touhidurabir added a commit to touhidurabir/ojs that referenced this issue May 3, 2024
touhidurabir added a commit to touhidurabir/ojs that referenced this issue May 3, 2024
touhidurabir added a commit to touhidurabir/ojs that referenced this issue May 3, 2024
touhidurabir added a commit to touhidurabir/ojs that referenced this issue May 3, 2024
touhidurabir added a commit to touhidurabir/pkp-lib that referenced this issue May 6, 2024
touhidurabir added a commit to touhidurabir/ojs that referenced this issue May 6, 2024
@touhidurabir
Copy link
Member Author

@asmecher can you review the PRs at #9895 (comment)

@asmecher
Copy link
Member

Reviewed: pkp/ojs#4257 (review)

Once that's ready, please port to the other apps as well.

@touhidurabir touhidurabir changed the title Introduce APP KEY feature Introduce APP KEY feature of Laravel May 28, 2024
touhidurabir added a commit to touhidurabir/pkp-lib that referenced this issue May 28, 2024
touhidurabir added a commit to touhidurabir/pkp-lib that referenced this issue Jun 30, 2024
touhidurabir added a commit to touhidurabir/pkp-lib that referenced this issue Jun 30, 2024
touhidurabir added a commit to touhidurabir/pkp-lib that referenced this issue Jun 30, 2024
touhidurabir added a commit to touhidurabir/pkp-lib that referenced this issue Jun 30, 2024
touhidurabir added a commit to touhidurabir/pkp-lib that referenced this issue Jun 30, 2024
touhidurabir added a commit to touhidurabir/pkp-lib that referenced this issue Jun 30, 2024
touhidurabir added a commit to touhidurabir/pkp-lib that referenced this issue Jun 30, 2024
touhidurabir added a commit to touhidurabir/pkp-lib that referenced this issue Jun 30, 2024
touhidurabir added a commit to touhidurabir/ojs that referenced this issue Jun 30, 2024
touhidurabir added a commit to touhidurabir/ojs that referenced this issue Jun 30, 2024
touhidurabir added a commit to touhidurabir/ojs that referenced this issue Jun 30, 2024
touhidurabir added a commit to touhidurabir/ojs that referenced this issue Jun 30, 2024
touhidurabir added a commit to touhidurabir/ojs that referenced this issue Jun 30, 2024
touhidurabir added a commit to touhidurabir/ojs that referenced this issue Jun 30, 2024
touhidurabir added a commit to touhidurabir/omp that referenced this issue Jun 30, 2024
touhidurabir added a commit to touhidurabir/omp that referenced this issue Jun 30, 2024
touhidurabir added a commit to touhidurabir/omp that referenced this issue Jun 30, 2024
touhidurabir added a commit to touhidurabir/omp that referenced this issue Jun 30, 2024
touhidurabir added a commit to touhidurabir/ops that referenced this issue Jun 30, 2024
touhidurabir added a commit to touhidurabir/ops that referenced this issue Jun 30, 2024
touhidurabir added a commit to touhidurabir/ops that referenced this issue Jun 30, 2024
touhidurabir added a commit to touhidurabir/ops that referenced this issue Jun 30, 2024
touhidurabir added a commit that referenced this issue Jul 1, 2024
#9895 app key and encryption service provider attached to container
touhidurabir added a commit to pkp/ojs that referenced this issue Jul 1, 2024
pkp/pkp-lib#9895 app key and encryption service integration
touhidurabir added a commit to pkp/omp that referenced this issue Jul 1, 2024
pkp/pkp-lib#9895 app key and encryption service integration
touhidurabir added a commit to pkp/ops that referenced this issue Jul 1, 2024
pkp/pkp-lib#9895 app key and encryption service integration
@touhidurabir
Copy link
Member Author

completed by merging of PRs at #9895 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement:2:Moderate A new feature or improvement that can be implemented in less than 4 weeks. Housekeeping:1:Todo Any dependency management or refactor that would be nice to have some day.
Projects
None yet
Development

No branches or pull requests

3 participants