More flexible OIDC key support #5912

Open
McTom234 wants to merge 1 commit from McTom234/oidc-key-algorithms into development
McTom234 commented 2025-11-23 03:08:06 +01:00 (Migrated from github.com)

The goal of this PR is to allow more key algorithms for OIDC signing keys.

The concerns regarding such implementation in #5390 were considered. I try to address them by allowing a flexible, extensible, and somewhat maintainable approach, which I gratefully take feedback on and am willing to improve by the feedback provided.

Therefore, the issue with this PR is not the few lines of code changed but the architecture of how more key algorithms could be supported. For presentation reasons, I added the RS512 algorithm, which I had done before.
If the suggested approach would be considered by the maintainers, I needed some support to extend and test this with more common algorithms like ES256 as described in the issue mentioned above.

Besides that, the test suits would probably need at least a test case per key algorithm to confirm that the implementations are working, which is currently a ToDo.

The goal of this PR is to allow more key algorithms for OIDC signing keys. The concerns regarding such implementation in #5390 were considered. I try to address them by allowing a flexible, extensible, and somewhat maintainable approach, which I gratefully take feedback on and am willing to improve by the feedback provided. Therefore, the issue with this PR is not the few lines of code changed but the architecture of how more key algorithms could be supported. For presentation reasons, I added the RS512 algorithm, which I had done before. If the suggested approach would be considered by the maintainers, I needed some support to extend and test this with more common algorithms like ES256 as described in the issue mentioned above. Besides that, the test suits would probably need at least a test case per key algorithm to confirm that the implementations are working, which is currently a ToDo.
ssddanbrown commented 2026-02-21 17:10:22 +01:00 (Migrated from github.com)

Marking as blocked since this would really await a second algorithm to support, pending qualification as per my comment here: https://github.com/BookStackApp/BookStack/issues/5390#issuecomment-3567922489

Marking as blocked since this would really await a second algorithm to support, pending qualification as per my comment here: https://github.com/BookStackApp/BookStack/issues/5390#issuecomment-3567922489
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin McTom234/oidc-key-algorithms:McTom234/oidc-key-algorithms
git switch McTom234/oidc-key-algorithms

Merge

Merge the changes and update on Forgejo.
git switch development
git merge --no-ff McTom234/oidc-key-algorithms
git switch McTom234/oidc-key-algorithms
git rebase development
git switch development
git merge --ff-only McTom234/oidc-key-algorithms
git switch McTom234/oidc-key-algorithms
git rebase development
git switch development
git merge --no-ff McTom234/oidc-key-algorithms
git switch development
git merge --squash McTom234/oidc-key-algorithms
git switch development
git merge --ff-only McTom234/oidc-key-algorithms
git switch development
git merge McTom234/oidc-key-algorithms
git push origin development
Sign in to join this conversation.
No description provided.