/**
  * Construct the authorisation URL with query parameters.
  *
  * @param string $providerName
  *
  * @return string
  */
 protected function getCallbackUrl($providerName)
 {
     $key = $this->config->get('response_noun');
     $url = $this->rootUrl . $this->config->getUriBase() . "/oauth2/callback?{$key}={$providerName}";
     $this->logger->debug("[ClientLogin][Provider]: Setting callback URL: {$url}");
     return $url;
 }
 /**
  * Get a button's class
  *
  * @param string $provider
  * @param array  $values
  *
  * @return string
  */
 private function getClass($provider, $values)
 {
     if (isset($values['type']) && $values['type'] == 'OpenID') {
         return $this->config->get('zocial') ? 'zocial openid' : 'openid';
     }
     return $this->config->get('zocial') ? "zocial {$provider}" : $provider;
 }
 public function testDefaultConfig()
 {
     $config = new Config(array(), 'http://example.com');
     $this->assertTrue($config->has('providers'), "The key 'providers' doesn't exist");
     $this->assertFalse($config->has('koalas'));
     $config->set('koalas', 'gum leaves');
     $this->assertSame('gum leaves', $config->get('koalas'));
 }