Enabled OAuth/OAuth2 logins
This commit is contained in:
98
modules/oauth/classes/Kohana/OAuth2/Client.php
Normal file
98
modules/oauth/classes/Kohana/OAuth2/Client.php
Normal file
@@ -0,0 +1,98 @@
|
||||
<?php defined('SYSPATH') OR die('No direct access allowed.');
|
||||
|
||||
/**
|
||||
* OAuth Client
|
||||
*
|
||||
* @package Kohana/OAuth2
|
||||
* @author Deon George
|
||||
* @copyright (c) 2009-2013 Deon George
|
||||
* @license http://dev.leenooks.net/license.html
|
||||
*/
|
||||
class Kohana_OAuth2_Client {
|
||||
|
||||
/**
|
||||
* Create a new consumer object.
|
||||
*
|
||||
* $consumer = OAuth2_Client::factory($options);
|
||||
*
|
||||
* @param array consumer options, key and secret are required
|
||||
* @return OAuth_Consumer
|
||||
*/
|
||||
public static function factory(array $options = NULL)
|
||||
{
|
||||
return new OAuth2_Client($options);
|
||||
}
|
||||
|
||||
/**
|
||||
* @var string client id
|
||||
*/
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @var string client secret
|
||||
*/
|
||||
protected $secret;
|
||||
|
||||
/**
|
||||
* @var string callback URL for OAuth authorization completion
|
||||
*/
|
||||
protected $callback;
|
||||
|
||||
/**
|
||||
* Sets the consumer key and secret.
|
||||
*
|
||||
* @param array consumer options, key and secret are required
|
||||
* @return void
|
||||
*/
|
||||
public function __construct(array $options = NULL)
|
||||
{
|
||||
if ( ! isset($options['id']))
|
||||
{
|
||||
throw new Kohana_OAuth_Exception('Required option not passed: :option',
|
||||
array(':option' => 'id'));
|
||||
}
|
||||
|
||||
if ( ! isset($options['secret']))
|
||||
{
|
||||
throw new Kohana_OAuth_Exception('Required option not passed: :option',
|
||||
array(':option' => 'secret'));
|
||||
}
|
||||
|
||||
$this->id = $options['id'];
|
||||
|
||||
$this->secret = $options['secret'];
|
||||
|
||||
if (isset($options['callback']))
|
||||
{
|
||||
$this->callback = $options['callback'];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the value of any protected class variable.
|
||||
*
|
||||
* // Get the client key
|
||||
* $key = $client->key;
|
||||
*
|
||||
* @param string variable name
|
||||
* @return mixed
|
||||
*/
|
||||
public function __get($key)
|
||||
{
|
||||
return $this->$key;
|
||||
}
|
||||
|
||||
/**
|
||||
* Change the client callback.
|
||||
*
|
||||
* @param string new consumer callback
|
||||
* @return $this
|
||||
*/
|
||||
public function callback($callback)
|
||||
{
|
||||
$this->callback = $callback;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user