Skip to content

Commit 14d32da

Browse files
committed
fixed authentication propagation bug in neo4j scheme
1 parent b6a65a2 commit 14d32da

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

src/Neo4j/Neo4jConnectionPool.php

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
use Bolt\protocol\V4_4;
2222
use function count;
2323
use Exception;
24-
use Laudis\Neo4j\Authentication\Authenticate;
2524
use Laudis\Neo4j\Bolt\BoltConnectionPool;
2625
use Laudis\Neo4j\Common\Uri;
2726
use Laudis\Neo4j\Contracts\AuthenticateInterface;
@@ -81,8 +80,6 @@ public function acquire(
8180

8281
$server = $this->getNextServer($table, $config->getAccessMode()) ?? $uri;
8382

84-
$authenticate = Authenticate::fromUrl($uri);
85-
8683
if ($server->getScheme() === '') {
8784
$server = $server->withScheme($uri->getScheme());
8885
}

tests/Integration/ClientIntegrationTest.php

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,10 @@
1515

1616
use function count;
1717
use InvalidArgumentException;
18+
use Laudis\Neo4j\Authentication\Authenticate;
19+
use Laudis\Neo4j\Basic\Driver;
1820
use Laudis\Neo4j\ClientBuilder;
21+
use Laudis\Neo4j\Common\Uri;
1922
use Laudis\Neo4j\Contracts\FormatterInterface;
2023
use Laudis\Neo4j\Contracts\TransactionInterface;
2124
use Laudis\Neo4j\Databags\Statement;
@@ -37,6 +40,21 @@ protected static function formatter(): FormatterInterface
3740
return OGMFormatter::create();
3841
}
3942

43+
public function testDifferentAuth(): void
44+
{
45+
foreach (self::buildConnections() as $connection) {
46+
$uri = Uri::create($connection);
47+
48+
$auth = Authenticate::fromUrl($uri);
49+
$uri = $uri->withUserInfo('');
50+
51+
$driver = Driver::create($uri, null, $auth);
52+
self::assertTrue($driver->verifyConnectivity());
53+
54+
self::assertEquals(1, $driver->createSession()->run('RETURN 1 AS one')->first()->get('one'));
55+
}
56+
}
57+
4058
public function testEqualEffect(): void
4159
{
4260
if (count($this->connectionAliases()) === 1) {

0 commit comments

Comments
 (0)