Sparkflows Single Sign-On (SSO) login issue following the SSL certificate update

When you update the SSL certificate of your Keycloak/SSO Provider with a certificate whose CA isn’t present in the Java keystore, then the authentication silently fails without providing any message.

In order to solve this, follow the below steps:

Assuming you have deployed sparkflows in Kubernetes, you need to edit the secrets.yaml which contains the keycloak-sslcert that stores the SSL certificate that would be required while connecting to the Keycloak/SSO provider for authentication.

  1. First export the Keycloak certificate using the command below
openssl s_client -connect [keycloak.sparkflows.net:443](http://keycloak.sparkflows.net:443/) -showcerts < /dev/null | openssl x509 -outform PEM > keycloak.sparkflows.net.crt
  1. Convert this certificate into base64 encoding, using the below command.
echo -n '<certificate-content>' | base64
  1. Copy and paste the output in the secrets.yaml file under the secret keycloak-sslcert, as shown below
apiVersion: v1
kind: Secret
metadata:
  name: keycloak-sslcert
  namespace: sparkflows
type: Opaque
data:
  keycloak-sslcert.crt: <Base64-encoded-certificate-secret>
  1. Create/Update this secret resource in Ezmeral Kubernetes.
kubectl apply -f secrets.yaml
  1. Finally restart the pod, for the changes to take effect.