Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
libre.sh
scim
Nextcloud SCIM
Commits
cb20a905
Commit
cb20a905
authored
Apr 29, 2022
by
Pierre Ozoux
Browse files
Tries middleware to return json.
parent
d369661b
Changes
2
Hide whitespace changes
Inline
Side-by-side
lib/AppInfo/Application.php
0 → 100644
View file @
cb20a905
<?php
/**
* @copyright Copyright (c) 2016 Roeland Jago Douma <roeland@famdouma.nl>
*
* @author Christoph Wurst <christoph@winzerhof-wurst.at>
* @author Daniel Kesselberg <mail@danielkesselberg.de>
* @author Joas Schilling <coding@schilljs.com>
* @author Lukas Reschke <lukas@statuscode.ch>
* @author Morris Jobke <hey@morrisjobke.de>
* @author Roeland Jago Douma <roeland@famdouma.nl>
* @author Vincent Petry <vincent@nextcloud.com>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
namespace
OCA\SCIMServiceProvider\AppInfo
;
use
OC\Group\Manager
as
GroupManager
;
use
OCA\Provisioning_API
\
Capabilities
;
use
OCA\Provisioning_API
\
Listener\UserDeletedListener
;
use
OCA\SCIMServiceProvider\Middleware\SCIMApiMiddleware
;
use
OCA\Settings\Mailer\NewUserMailHelper
;
use
OCP\AppFramework\App
;
use
OCP\AppFramework\Bootstrap\IBootContext
;
use
OCP\AppFramework\Bootstrap\IBootstrap
;
use
OCP\AppFramework\Bootstrap\IRegistrationContext
;
use
OCP\AppFramework\Utility\IControllerMethodReflector
;
use
OCP\AppFramework\Utility\ITimeFactory
;
use
OCP\Defaults
;
use
OCP\IConfig
;
use
OCP\IGroupManager
;
use
OCP\IURLGenerator
;
use
OCP\IUser
;
use
OCP\IUserManager
;
use
OCP\L10N\IFactory
;
use
OCP\Mail\IMailer
;
use
OCP\Security\ICrypto
;
use
OCP\Security\ISecureRandom
;
use
OCP\User\Events\UserDeletedEvent
;
use
OCP\Util
;
use
Psr\Container\ContainerInterface
;
class
Application
extends
App
implements
IBootstrap
{
public
function
__construct
(
array
$urlParams
=
[])
{
parent
::
__construct
(
'scimserviceprovider'
,
$urlParams
);
}
public
function
register
(
IRegistrationContext
$context
):
void
{
$context
->
registerMiddleware
(
SCIMApiMiddleware
::
class
);
}
public
function
boot
(
IBootContext
$context
):
void
{
}
}
lib/Middleware/SCIMApiMiddleware.php
0 → 100644
View file @
cb20a905
<?php
declare
(
strict_types
=
1
);
/**
* @copyright Copyright (c) 2016 Roeland Jago Douma <roeland@famdouma.nl>
*
* @author Joas Schilling <coding@schilljs.com>
* @author Lukas Reschke <lukas@statuscode.ch>
* @author Morris Jobke <hey@morrisjobke.de>
* @author Roeland Jago Douma <roeland@famdouma.nl>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
namespace
OCA\SCIMServiceProvider\Middleware
;
use
OCP\AppFramework\Controller
;
use
OCP\AppFramework\Http
;
use
OCP\AppFramework\Http\JSONResponse
;
use
OCP\AppFramework\Middleware
;
use
OCP\AppFramework\Utility\IControllerMethodReflector
;
use
OCA\SCIMServiceProvider\Responses\SCIMResourceResponse
;
class
SCIMApiMiddleware
extends
Middleware
{
/** @var IControllerMethodReflector */
private
$reflector
;
/** @var bool */
private
$isAdmin
;
/** @var bool */
private
$isSubAdmin
;
/**
* ProvisioningApiMiddleware constructor.
*
* @param IControllerMethodReflector $reflector
* @param bool $isAdmin
* @param bool $isSubAdmin
*/
public
function
__construct
(
IControllerMethodReflector
$reflector
,
bool
$isAdmin
,
bool
$isSubAdmin
)
{
$this
->
reflector
=
$reflector
;
$this
->
isAdmin
=
$isAdmin
;
$this
->
isSubAdmin
=
$isSubAdmin
;
}
/**
* @param Controller $controller
* @param string $methodName
* @param \Exception $exception
* @throws \Exception
* @return SCIMResourceResponse
*/
public
function
afterException
(
$controller
,
$methodName
,
\
Exception
$exception
)
{
if
(
$exception
instanceof
SCIMException
)
{
return
SCIMResourceResponse
(
$exception
->
getMessage
(),
500
);
}
return
SCIMResourceResponse
([
"schema"
=>
"error"
],
500
);
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment