Finished up password grant
This commit is contained in:
parent
ec14621e7c
commit
49a713eb35
3 changed files with 17 additions and 23 deletions
|
@ -5,13 +5,12 @@ namespace Pickles\OAuth2;
|
||||||
use \League\OAuth2\Server\AuthorizationServer;
|
use \League\OAuth2\Server\AuthorizationServer;
|
||||||
use \League\OAuth2\Server\Grant\PasswordGrant;
|
use \League\OAuth2\Server\Grant\PasswordGrant;
|
||||||
use \Pickles\App\Models\User;
|
use \Pickles\App\Models\User;
|
||||||
|
use \Pickles\Config;
|
||||||
|
|
||||||
class Resource extends \Pickles\Resource
|
class Resource extends \Pickles\Resource
|
||||||
{
|
{
|
||||||
public function __construct()
|
public function POST()
|
||||||
{
|
{
|
||||||
parent::__construct();
|
|
||||||
|
|
||||||
if (!isset($this->config['oauth'][$_SERVER['__version']]))
|
if (!isset($this->config['oauth'][$_SERVER['__version']]))
|
||||||
{
|
{
|
||||||
throw new \Exception('Forbidden.', 403);
|
throw new \Exception('Forbidden.', 403);
|
||||||
|
@ -48,7 +47,11 @@ class Resource extends \Pickles\Resource
|
||||||
|
|
||||||
$grant->setVerifyCredentialsCallback(function ($username, $password)
|
$grant->setVerifyCredentialsCallback(function ($username, $password)
|
||||||
{
|
{
|
||||||
$user = new User(['email' => $username]);
|
$user = new User([
|
||||||
|
'conditions' => [
|
||||||
|
'email' => $username,
|
||||||
|
],
|
||||||
|
]);
|
||||||
|
|
||||||
return $user->count()
|
return $user->count()
|
||||||
&& password_verify($password, $user->record['password']);
|
&& password_verify($password, $user->record['password']);
|
||||||
|
@ -64,6 +67,8 @@ class Resource extends \Pickles\Resource
|
||||||
$server->addGrantType($grant);
|
$server->addGrantType($grant);
|
||||||
|
|
||||||
$response = $server->issueAccessToken();
|
$response = $server->issueAccessToken();
|
||||||
|
|
||||||
|
return $response;
|
||||||
}
|
}
|
||||||
catch (\Exception $e)
|
catch (\Exception $e)
|
||||||
{
|
{
|
||||||
|
|
|
@ -26,15 +26,6 @@ namespace Pickles;
|
||||||
*/
|
*/
|
||||||
class Resource extends Object
|
class Resource extends Object
|
||||||
{
|
{
|
||||||
/**
|
|
||||||
* HTTPS
|
|
||||||
*
|
|
||||||
* Whether or not the page should be loaded via HTTP Secure.
|
|
||||||
*
|
|
||||||
* @var boolean defaults to false
|
|
||||||
*/
|
|
||||||
public $https = false;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Filter
|
* Filter
|
||||||
*
|
*
|
||||||
|
@ -83,14 +74,6 @@ class Resource extends Object
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// Determines if we need to serve over HTTP or HTTPS
|
|
||||||
if (($this->https === true
|
|
||||||
|| (isset($this->https[$method]) && $this->https[$method]))
|
|
||||||
&& (!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == false))
|
|
||||||
{
|
|
||||||
throw new \Exception('HTTPS is required.', 400);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Check auth if flag is explicitly true or is true for the method
|
// Check auth if flag is explicitly true or is true for the method
|
||||||
if ($this->auth === true
|
if ($this->auth === true
|
||||||
|| (isset($this->auth[$method]) && $this->auth[$method]))
|
|| (isset($this->auth[$method]) && $this->auth[$method]))
|
||||||
|
@ -101,7 +84,7 @@ class Resource extends Object
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Hack together some new globals
|
// Hacks together some new globals
|
||||||
if (in_array($method, ['PUT', 'DELETE']))
|
if (in_array($method, ['PUT', 'DELETE']))
|
||||||
{
|
{
|
||||||
$GLOBALS['_' . $method] = [];
|
$GLOBALS['_' . $method] = [];
|
||||||
|
@ -337,7 +320,7 @@ class Resource extends Object
|
||||||
{
|
{
|
||||||
http_response_code($this->status);
|
http_response_code($this->status);
|
||||||
header('Content-Type: application/json');
|
header('Content-Type: application/json');
|
||||||
header('X-Powered-By: Pickles v2 - https://picklesphp.com');
|
header('X-Powered-By: Pickles (http://picklesphp.com)');
|
||||||
|
|
||||||
$meta = [
|
$meta = [
|
||||||
'status' => $this->status,
|
'status' => $this->status,
|
||||||
|
|
|
@ -39,6 +39,12 @@ class Router extends Object
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
// Secure by default
|
||||||
|
if (!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == false)
|
||||||
|
{
|
||||||
|
throw new \Exception('HTTPS is required.', 400);
|
||||||
|
}
|
||||||
|
|
||||||
// Grabs the requested page
|
// Grabs the requested page
|
||||||
$request = $_REQUEST['request'];
|
$request = $_REQUEST['request'];
|
||||||
$components = explode('/', $request);
|
$components = explode('/', $request);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue