/**
  * Gets password change/reset URI for specific user
  *
  * @param int    $userId
  * @param string $lang
  * @param string $redirectUri
  *
  * @return string
  */
 public function getResetPasswordUri($userId, $lang = null, $redirectUri = null)
 {
     if ($redirectUri === null) {
         $redirectUri = $this->getCurrentUri();
     }
     $parameters = array('client_id' => $this->clientId, 'redirect_uri' => $redirectUri);
     $query = http_build_query($parameters, null, '&');
     return $this->router->getRemindPasswordUri($userId, $lang) . '?' . $query;
 }
 /**
  * @param null                                    $basePath
  * @param Paysera_WalletApi_Entity_MacAccessToken $token
  * @param array                                   $parameters
  *
  * @return Paysera_WalletApi_EventDispatcher_EventDispatcher
  */
 protected function dispatcher($basePath = null, Paysera_WalletApi_Entity_MacAccessToken $token = null, array $parameters = array())
 {
     $basePath = $this->router->getApiEndpoint($basePath);
     if ($token === null) {
         $requestSigner = $this->container->createRequestSigner($this->signer);
     } else {
         $requestSigner = $this->container->createOAuthRequestSigner($this->oauthClient(), $token);
     }
     return $this->container->createDispatcherForClient($basePath, $requestSigner, $parameters);
 }