Skip to content

[redis 6] Authenticate with userpass from ACL #61

@kodumbeats

Description

@kodumbeats

Redis 6 introduced userpass authentication with ACLs, which is used with managed Redis services offered by e.g. DigitalOcean. Though, I cannot authenticate workers because the username is not used for authentication:

// $user is not used, only $password

Expected Behavior

phpredis supports a variety of data structures to authenticate with a username and password, so I expected the username from my DSN connection string would be used:

list($host, $port, $dsnDatabase, $user, $password, $options) = self::parseDsn($server);

Current Behavior

if ($password){
$this->driver->auth($password);
}

Possible Solution

I put together the necessary patches for colinmollenhour/credis to test a very crude implementation, which I have on a fork here (please don't mind the whitespace 😅):

develop...kodumbeats:tls_connections

Context

Trying to hook up Appwrite to a Managed Redis database cluster provided by DigitalOcean but cannot due to this limitation.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions