@@ -209,6 +209,8 @@ public static class RedisConfig {
209209 (o , v ) -> o .host = v , o -> o .host )
210210 .addField (new KeyedCodec <>("Port" , Codec .INTEGER ),
211211 (o , v ) -> o .port = v , o -> o .port )
212+ .addField (new KeyedCodec <>("Username" , Codec .STRING ),
213+ (o , v ) -> o .username = v , o -> o .username )
212214 .addField (new KeyedCodec <>("Password" , Codec .STRING ),
213215 (o , v ) -> o .password = v , o -> o .password )
214216 .addField (new KeyedCodec <>("Database" , Codec .INTEGER ),
@@ -219,6 +221,7 @@ public static class RedisConfig {
219221
220222 private String host = "localhost" ;
221223 private int port = 6379 ;
224+ private String username = null ;
222225 private String password = null ;
223226 private int database = 0 ;
224227 private boolean useTLS = false ;
@@ -243,6 +246,15 @@ public void setPort(int port) {
243246 this .port = port ;
244247 }
245248
249+ @ Nullable
250+ public String getUsername () {
251+ return username ;
252+ }
253+
254+ public void setUsername (@ Nullable String username ) {
255+ this .username = username ;
256+ }
257+
246258 @ Nullable
247259 public String getPassword () {
248260 return password ;
@@ -275,7 +287,9 @@ public void setUseTLS(boolean useTLS) {
275287 public String toRedisUri () {
276288 StringBuilder sb = new StringBuilder ();
277289 sb .append (useTLS ? "rediss://" : "redis://" );
278- if (password != null && !password .isEmpty ()) {
290+ if (username != null && !username .isEmpty () && password != null && !password .isEmpty ()) {
291+ sb .append (username ).append (":" ).append (password ).append ("@" );
292+ } else if (password != null && !password .isEmpty ()) {
279293 sb .append (":" ).append (password ).append ("@" );
280294 }
281295 sb .append (host ).append (":" ).append (port );
0 commit comments