src/Rds/AuthTokenGenerator.php
public function createToken($endpoint, $region, $username)
    {
        $uri = new Uri($endpoint);
        $uri = $uri->withPath('/');
        $uri = $uri->withQuery('Action=connect&DBUser=' . $username);

        $request = new Request('GET', $uri);
        $signer = new SignatureV4('rds-db', $region);
        $provider = $this->credentialProvider;

        $url = (string) $signer->presign(
            $request,
            $provider()->wait(),
            '+15 minutes'
        )->getUri();

        // Remove 2 extra slash from the presigned url result
        return substr($url, 2);
    }
public function createToken($endpoint, $region, $username)
    {
        $uri = new Uri($endpoint);
        $uri = $uri->withPath('/');
        $uri = $uri->withQuery('Action=connect&DBUser=' . $username);

        $request = new Request('GET', $uri);
        $signer = new SignatureV4('rds-db', $region);
        $provider = $this->credentialProvider;

        $url = (string) $signer->presign(
            $request,
            $provider()->wait(),
            '+15 minutes'
        )->getUri();

        // Remove 2 extra slash from the presigned url result
        return substr($url, 2);
    }
public function createToken ( $ endpoint , $ region , $ username ) { $ uri = new Uri ( $ endpoint ) ; $ uri = $ uri -> withPath ( '/' ) ; $ uri = $ uri -> withQuery ( 'Action=connect&DBUser=' . $ username ) ; $ request = new Request ( 'GET' , $ uri ) ; $ signer = new SignatureV4 ( 'rds-db' , $ region ) ; $ provider = $ this -> credentialProvider ; $ url = ( string ) $ signer -> presign ( $ request , $ provider ( ) -> wait ( ) , '+15 minutes' ) -> getUri ( ) ; // Remove 2 extra slash from the presigned url result return substr ( $ url , 2 ) ; }
Create the token for database login

@param string $endpoint The database hostname with port number specified
(e.g., host:port)
@param string $region The region where the database is located
@param string $username The username to login as

@return string Token generated
Create the token for database login