Login not possible via OIDC when using LE cert for key signing

Nextcloud version (eg, 20.0.5): 27.0.0
Operating system and version (eg, Ubuntu 20.04): NixOS 23.05
Apache or nginx version (eg, Apache 2.4.25): nginx 1.24.0
PHP version (eg, 7.4): 8.2.7

The issue you are facing:

Currently using OIDC auth on the Nextcloud instance, with user_oidc, and authentik - https://goauthentik.io/
In authentik, we have a self signed RSA cert, and LE elliptic curve cert.
The algo used for the RSA cert is RS256, for the EC ES256.
When using the RSA key, login is working fine.
However, when using the EC key, we are faced with the following error:

No supported algorithms found in JWK Set

We checked the Firebase JWT source, and both Algo are in there.
Furthermore, when we set the following settings for the user_oidc plugin:

'userinfo_bearer_validation' => false,
'selfencoded_bearer_validation' => false,

to disable validation, we see a different error:

"kid" invalid, unable to lookup correct key

Any idea what the problem could be?


I found this bug report on the bug tracker:

1 Like

Looking at the JWT plugin, both are supported:

When I install the current version of OIDC, it comes with a new version of JWT that supports ES256. The app for me is called “OIDC Identity Provider” and is installed under apps/oidc.
Here you see the changelog of JWT version and what was added recently: apps/oidc/vendor/firebase/CHANGELOG.md

If it is not the library, then somewhere in the app it is blocked or filtered. But in such cases, you need to check with the already linked bug report. They know best why it is not working, if it can be easily added or if there might other problems.