Hi,
We are currently testing CAS v7 via the latest RC8, but have run into a blocker with the configuration of the Redis based ticket registry. There does not appear to be a way to configure the Redis registry/client to connect without a username (Azure cache for Redis does not use usernames). If we set the username to an empty string via configuration properties (or null programmatically), then it fails due to username assertions in lettuce.
Eg.
Caused by: java.lang.IllegalArgumentException: User name must not be null
at io.lettuce.core.internal.LettuceAssert.notNull(LettuceAssert.java:71)
at io.lettuce.core.RedisURI$Builder.withAuthentication(RedisURI.java:1563)
at org.apereo.cas.redis.core.RedisObjectFactory.newRedisModulesCommands(RedisObjectFactory.java:132)
This can be traced to RedisObjectFactory.newRedisModulesCommands() in cas-server-support-redis-core, as it assumes a username is present if a password is present (via uriBuilder.withAuthentication call). This should check for a null/empty username first and use uriBuilder.withPassword instead in that case.