In your RegisteredClientRepository you set the clientId as client and clientSecret as secret.
In your CURL request you pass:
--header 'Authorization: Basic YmlsbDpwYXNzd29yZA=='
Which when decoded is: bill:password. This needs to be client:secret, which is Y2xpZW50OnNlY3JldA==