I'm following these:
- https://www.process-one.net/blog/ejabberd-19-08/
- https://docs.ejabberd.im/admin/configuration/authentication/#jwt-authentication
and have created a secret.key like below using https://mkjwk.org/ to match the example in the first URL above:
According to https://auth0.com/blog/navigating-rs256-and-jwks/ because this is an HS type:
"Simply put HS256 must share a secret with any client or API that wants to verify the JWT"
So I naively assumed to use the "k" as the secret to sign the JWT on the server issuing the JWT to use in the password field of any XMPP client (stanza.io and pidgin on the desktop).
What am I misunderstanding? I have confirmed ejabberd starts up correctly with (via ejabberdctl live and loglevel 4):
auth_method: [jwt, ldap]
jwt_key: /opt/ejabberd/conf/secret.jwk
and that I can still authenticate with a password in our Directory Server, but I can't with the JWT. I don't think I'm generating it correctly because I'm just signing it like a normal shared key JWT.
Thanks, Gavin.