cc-backend/tools/convert-pem-pubkey-for-cc
Michael Schwarz f817ac5240 Accept externally generated JWTs provided via cookie
If there is an external service like an AuthAPI that can generate JWTs and
  hand them over to ClusterCockpit via cookies, CC can be configured to
  accept them
2022-10-19 13:36:13 +02:00
..
dummy.pub Accept externally generated JWTs provided via cookie 2022-10-19 13:36:13 +02:00
main.go Accept externally generated JWTs provided via cookie 2022-10-19 13:36:13 +02:00
Readme.md Accept externally generated JWTs provided via cookie 2022-10-19 13:36:13 +02:00

Convert a public Ed25519 key (in PEM format) for use in ClusterCockpit

Imagine you have externally generated JSON Web Tokens (JWT) that should be accepted by CC backend. This external provider shares its public key (used for JWT signing) in PEM format:

-----BEGIN PUBLIC KEY-----
MCowBQYDK2VwAyEA+51iXX8BdLFocrppRxIw52xCOf8xFSH/eNilN5IHVGc=
-----END PUBLIC KEY-----

Unfortunately, ClusterCockpit does not handle this format (yet). You can use this tool to convert the public PEM key into a representation for CC:

CROSS_LOGIN_JWT_PUBLIC_KEY="+51iXX8BdLFocrppRxIw52xCOf8xFSH/eNilN5IHVGc="

Instructions

  • cd tools/convert-pem-pubkey-for-cc/
  • Insert your public ed25519 PEM key into dummy.pub
  • go run . dummy.pub
  • Copy the result into ClusterCockpit's .env
  • (Re)start ClusterCockpit backend

Now CC can validate generated JWTs from the external provider.