Compare commits

..

No commits in common. "33dd5190296b1d0639b746b2fe05b317e64d2ef7" and "0973cd31c37deb400302218dbc6cceb15a56da15" have entirely different histories.

8 changed files with 39 additions and 37 deletions

View file

@ -1,10 +1,15 @@
{ {
"minimum-stability": "dev",
"prefer-stable": true,
"require": { "require": {
"flashwave/index": "^0.2408.40014" "flashwave/index": "dev-master"
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"Oatmeal\\": "src" "Oatmeal\\": "src"
} }
},
"config": {
"preferred-install": "dist"
} }
} }

26
composer.lock generated
View file

@ -4,30 +4,34 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "d5cb22679bb951d16ca033d549b45f20", "content-hash": "8be4aa570091b8e36082f761bd734626",
"packages": [ "packages": [
{ {
"name": "flashwave/index", "name": "flashwave/index",
"version": "v0.2408.182001", "version": "dev-master",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://patchii.net/flash/index.git", "url": "https://patchii.net/flash/index.git",
"reference": "5a1fdcccedf818897a3468d5457875fabfb2ce28" "reference": "e4c8ed711e045cffe840ba10a239ede14b0b171f"
}, },
"require": { "require": {
"ext-mbstring": "*", "ext-mbstring": "*",
"php": ">=8.3" "php": ">=8.1"
}, },
"require-dev": { "require-dev": {
"phpstan/phpstan": "^1.11", "phpstan/phpstan": "^1.10",
"phpunit/phpunit": "^11.2" "phpunit/phpunit": "^10.2"
}, },
"suggest": { "suggest": {
"ext-mysqli": "Support for the Index\\Data\\MariaDB namespace (both mysqlnd and libmysql are supported).", "ext-mysqli": "Support for the Index\\Data\\MariaDB namespace (both mysqlnd and libmysql are supported).",
"ext-sqlite3": "Support for the Index\\Data\\SQLite namespace." "ext-sqlite3": "Support for the Index\\Data\\SQLite namespace."
}, },
"default-branch": true,
"type": "library", "type": "library",
"autoload": { "autoload": {
"files": [
"index.php"
],
"psr-4": { "psr-4": {
"Index\\": "src" "Index\\": "src"
} }
@ -46,14 +50,16 @@
], ],
"description": "Composer package for the common library for my projects.", "description": "Composer package for the common library for my projects.",
"homepage": "https://railgun.sh/index", "homepage": "https://railgun.sh/index",
"time": "2024-08-18T20:01:21+00:00" "time": "2024-04-10T23:40:14+00:00"
} }
], ],
"packages-dev": [], "packages-dev": [],
"aliases": [], "aliases": [],
"minimum-stability": "stable", "minimum-stability": "dev",
"stability-flags": [], "stability-flags": {
"prefer-stable": false, "flashwave/index": 20
},
"prefer-stable": true,
"prefer-lowest": false, "prefer-lowest": false,
"platform": [], "platform": [],
"platform-dev": [], "platform-dev": [],

View file

@ -1,6 +1,9 @@
<?php <?php
namespace Oatmeal; namespace Oatmeal;
use Index\Environment;
use Index\Data\DbTools;
define('OAT_STARTUP', microtime(true)); define('OAT_STARTUP', microtime(true));
define('OAT_ROOT', __DIR__); define('OAT_ROOT', __DIR__);
define('OAT_DEBUG', is_file(OAT_ROOT . '/.debug')); define('OAT_DEBUG', is_file(OAT_ROOT . '/.debug'));
@ -9,9 +12,9 @@ define('OAT_DIR_SOURCE', OAT_ROOT . '/src');
require_once OAT_ROOT . '/vendor/autoload.php'; require_once OAT_ROOT . '/vendor/autoload.php';
error_reporting(OAT_DEBUG ? -1 : 0); Environment::setDebug(OAT_DEBUG);
mb_internal_encoding('UTF-8'); mb_internal_encoding('utf-8');
date_default_timezone_set('GMT'); date_default_timezone_set('utc');
$oatmeal = new OatmealContext((function() { $oatmeal = new OatmealContext((function() {
$path = OAT_ROOT . '/.rng'; $path = OAT_ROOT . '/.rng';

View file

@ -1,8 +1,10 @@
<?php <?php
namespace Oatmeal; namespace Oatmeal;
use Index\{CSRFP,UriBase64,XString}; use Index\XString;
use Index\Http\Routing\{HttpGet,HttpPost,RouteHandler}; use Index\Http\Routing\{HttpGet,HttpPost,RouteHandler};
use Index\Security\CSRFP;
use Index\Serialisation\UriBase64;
final class AuthzCodeRoutes extends RouteHandler { final class AuthzCodeRoutes extends RouteHandler {
public function __construct( public function __construct(
@ -56,7 +58,7 @@ final class AuthzCodeRoutes extends RouteHandler {
<div> <div>
<label> <label>
<span>Scope:</span> <span>Scope:</span>
<input type=text name=scope> <input type=text name=scope required>
</label> </label>
</div> </div>
<div> <div>
@ -144,10 +146,9 @@ HTML;
$query = [ $query = [
'response_type' => 'code', 'response_type' => 'code',
'client_id' => $clientId, 'client_id' => $clientId,
'scope' => $scope,
]; ];
if($scope !== '')
$query['scope'] = $scope;
if($redirectUri !== '') if($redirectUri !== '')
$query['redirect_uri'] = $redirectUri; $query['redirect_uri'] = $redirectUri;
if($state !== '') if($state !== '')

View file

@ -1,8 +1,8 @@
<?php <?php
namespace Oatmeal; namespace Oatmeal;
use Index\CSRFP;
use Index\Http\Routing\{HttpGet,HttpPost,RouteHandler}; use Index\Http\Routing\{HttpGet,HttpPost,RouteHandler};
use Index\Security\CSRFP;
final class ClientCredsRoutes extends RouteHandler { final class ClientCredsRoutes extends RouteHandler {
public function __construct( public function __construct(

View file

@ -1,8 +1,8 @@
<?php <?php
namespace Oatmeal; namespace Oatmeal;
use Index\CSRFP;
use Index\Http\Routing\{HttpGet,HttpPost,RouteHandler}; use Index\Http\Routing\{HttpGet,HttpPost,RouteHandler};
use Index\Security\CSRFP;
final class DeviceCodeRoutes extends RouteHandler { final class DeviceCodeRoutes extends RouteHandler {
public function __construct( public function __construct(
@ -53,7 +53,7 @@ final class DeviceCodeRoutes extends RouteHandler {
<div> <div>
<label> <label>
<span>Scope:</span> <span>Scope:</span>
<input type=text name=scope> <input type=text name=scope required>
</label> </label>
</div> </div>
<div> <div>
@ -93,10 +93,7 @@ HTML;
$scope = (string)$content->getParam('scope'); $scope = (string)$content->getParam('scope');
$headers = []; $headers = [];
$body = []; $body = ['scope' => $scope];
if($scope !== '')
$body['scope'] = $scope;
if($clientSecret === '') if($clientSecret === '')
$body['client_id'] = $clientId; $body['client_id'] = $clientId;

View file

@ -1,8 +1,8 @@
<?php <?php
namespace Oatmeal; namespace Oatmeal;
use Index\CSRFP;
use Index\Http\Routing\{HttpRouter,IRouter,IRouteHandler}; use Index\Http\Routing\{HttpRouter,IRouter,IRouteHandler};
use Index\Security\CSRFP;
class OatmealContext { class OatmealContext {
private CSRFP $csrfp; private CSRFP $csrfp;

View file

@ -1,8 +1,8 @@
<?php <?php
namespace Oatmeal; namespace Oatmeal;
use Index\CSRFP;
use Index\Http\Routing\{HttpGet,HttpPost,RouteHandler}; use Index\Http\Routing\{HttpGet,HttpPost,RouteHandler};
use Index\Security\CSRFP;
final class RefreshTokenRoutes extends RouteHandler { final class RefreshTokenRoutes extends RouteHandler {
public function __construct( public function __construct(
@ -50,12 +50,6 @@ final class RefreshTokenRoutes extends RouteHandler {
<input type=password name=client_secret> <input type=password name=client_secret>
</label> </label>
</div> </div>
<div>
<label>
<span>Scope:</span>
<input type=text name=scope>
</label>
</div>
<div> <div>
<span>Authentication:</span> <span>Authentication:</span>
<label> <label>
@ -107,7 +101,6 @@ HTML;
$clientSecret = (string)$content->getParam('client_secret'); $clientSecret = (string)$content->getParam('client_secret');
$refreshToken = (string)$content->getParam('refresh_token'); $refreshToken = (string)$content->getParam('refresh_token');
$auth = (string)$content->getParam('auth'); $auth = (string)$content->getParam('auth');
$scope = (string)$content->getParam('scope');
$headers = []; $headers = [];
$body = [ $body = [
@ -115,9 +108,6 @@ HTML;
'refresh_token' => $refreshToken, 'refresh_token' => $refreshToken,
]; ];
if($scope !== '')
$body['scope'] = $scope;
if($clientSecret === '') if($clientSecret === '')
$body['client_id'] = $clientId; $body['client_id'] = $clientId;
elseif($auth === 'body' || ($auth !== 'header' && mt_rand(0, 10) > 5)) { elseif($auth === 'body' || ($auth !== 'header' && mt_rand(0, 10) > 5)) {