Error parsing BasicUser with traefikv2

Using traefik with kubernetes.

bauth.yaml:

apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
  name: bauth
spec:
  basicAuth:
    secret: bauth
    headerField: X-WebAuth-User
    removeHeader: true

auth-secret.yaml:

apiVersion: v1
kind: Secret
metadata:
  name: bauth
data:
  users: b3J3aWxsJTNBJTI0YXByMSUyNDdrbnprYW96JTI0dTR3WU1SYXgwYzRmUVFKRndTZ2VZMQ==

ingressroute:

apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: dashboard
  namespace: kube-system
spec:
  entryPoints:
    - web
    - websecure
  routes:
    - match: Host(`xxx.xxx.xxx`)
      kind: Rule
      services:
        - name: api@internal
          kind: TraefikService
      middlewares:
        - name: default-http2s@kubernetescrd
        - name: default-bauth@kubernetescrd
  tls:
    secretName: xxx-xxx-prod

error log:

time="2020-04-29T02:01:49Z" level=info msg="Configuration loaded from flags."
time="2020-04-29T02:01:50Z" level=error msg="error parsing BasicUser: orwill%3A%24apr1%247knzkaoz%24u4wYMRax0c4fQQJFwSgeY1" entryPointName=web routerName=kube-system-dashboard-285d9fd39c3b4ad05b9c@kubernetescrd
time="2020-04-29T02:01:50Z" level=error msg="error parsing BasicUser: orwill%3A%24apr1%247knzkaoz%24u4wYMRax0c4fQQJFwSgeY1" entryPointName=websecure routerName=kube-system-dashboard-285d9fd39c3b4ad05b9c@kubernetescrd

I've decoded this and it appears the format is incorrect. You may be URL encoding this string before passing it into your secret handler. The decoded version of this string is:

orwill%3A%24apr1%247knzkaoz%24u4wYMRax0c4fQQJFwSgeY1

when it should be:

orwill:$apr1$7knzkaoz$u4wYMRax0c4fQQJFwSgeY1

How are you handling this string before it's created as a secret?