Added mock OAuth server
This commit is contained in:
parent
2f125196e4
commit
8b8d311135
|
@ -6,6 +6,7 @@ use Utopia\Validator\Numeric;
|
|||
use Utopia\Validator\Text;
|
||||
use Utopia\Validator\ArrayList;
|
||||
use Storage\Validators\File;
|
||||
use Utopia\Validator\Host;
|
||||
|
||||
$result = [];
|
||||
|
||||
|
@ -218,6 +219,73 @@ $utopia->get('/v1/mock/tests/general/empty')
|
|||
}
|
||||
);
|
||||
|
||||
$utopia->get('/v1/mock/tests/general/oauth/login')
|
||||
->desc('Mock an OAuth login route')
|
||||
->label('scope', 'public')
|
||||
->label('sdk.namespace', 'general')
|
||||
->label('sdk.method', 'empty')
|
||||
->label('sdk.description', 'Mock an OAuth login route')
|
||||
->param('client_id', '', function () { return new Text(100); }, 'OAuth Client ID.')
|
||||
->param('redirect_uri', '', function () { return new Host(['http://localhost']); }, 'OAuth Redirect URI.')
|
||||
->param('scope', '', function () { return new Text(100); }, 'OAuth scope list.')
|
||||
->param('state', '', function () { return new Text(100); }, 'OAuth state.')
|
||||
->action(
|
||||
function ($clientId, $redirectURI, $scope, $state) use ($response) {
|
||||
var_dump($clientId, $redirectURI, $scope, $state);
|
||||
exit();
|
||||
$response->redirect('');
|
||||
}
|
||||
);
|
||||
|
||||
$utopia->get('/v1/mock/tests/general/oauth/token')
|
||||
->desc('Mock an OAuth login route')
|
||||
->label('scope', 'public')
|
||||
->label('sdk.namespace', 'general')
|
||||
->label('sdk.method', 'empty')
|
||||
->label('sdk.description', 'Mock an OAuth login route')
|
||||
->param('client_id', '', function () { return new Text(100); }, 'OAuth Client ID.')
|
||||
->param('redirect_uri', '', function () { return new Host(['http://localhost']); }, 'OAuth Redirect URI.')
|
||||
->param('client_secret', '', function () { return new Text(100); }, 'OAuth scope list.')
|
||||
->param('code', '', function () { return new Text(100); }, 'OAuth state.')
|
||||
->action(
|
||||
function ($clientId, $redirectURI, $clientSecret, $code) use ($response) {
|
||||
if($clientId != '1') {
|
||||
throw new Exception('Invalid client ID');
|
||||
}
|
||||
|
||||
if($clientSecret != 'secret') {
|
||||
throw new Exception('Invalid client secret');
|
||||
}
|
||||
|
||||
if($code != 'abcdef') {
|
||||
throw new Exception('Invalid token');
|
||||
}
|
||||
|
||||
$response->json(['access_token' => '123456']);
|
||||
}
|
||||
);
|
||||
|
||||
$utopia->get('/v1/mock/tests/general/oauth/user')
|
||||
->desc('Mock an OAuth user route')
|
||||
->label('scope', 'public')
|
||||
->label('sdk.namespace', 'general')
|
||||
->label('sdk.method', 'empty')
|
||||
->label('sdk.description', 'Mock an OAuth user route')
|
||||
->param('token', '', function () { return new Text(100); }, 'OAuth Access Token.')
|
||||
->action(
|
||||
function ($token) use ($response) {
|
||||
if($token != '123456') {
|
||||
throw new Exception('Invalid token');
|
||||
}
|
||||
|
||||
$response->json([
|
||||
'id' => 1,
|
||||
'name' => 'User Name',
|
||||
'email' => 'user@localhost',
|
||||
]);
|
||||
}
|
||||
);
|
||||
|
||||
$utopia->shutdown(function() use ($response, $request, &$result, $utopia) {
|
||||
|
||||
$route = $utopia->match($request);
|
||||
|
|
Loading…
Reference in a new issue