This is not clear to me - why are we passing keyId here? getPublicKey() is expecting a userId