Files
oc-server3/htdocs/okapi/services/oauth/authorize.php
2014-10-08 10:06:07 +02:00

42 lines
1.3 KiB
PHP

<?php
namespace okapi\services\oauth\authorize;
use okapi\Okapi;
use okapi\Settings;
use okapi\OkapiRedirectResponse;
use okapi\OkapiRequest;
use okapi\ParamMissing;
use okapi\InvalidParam;
class WebService
{
public static function options()
{
return array(
'min_auth_level' => 0
);
}
public static function call(OkapiRequest $request)
{
$token_key = $request->get_parameter('oauth_token');
if (!$token_key)
throw new ParamMissing("oauth_token");
$langpref = $request->get_parameter('langpref');
$interactivity = $request->get_parameter('interactivity');
if (!$interactivity) $interactivity = 'minimal';
if (!in_array($interactivity, array('minimal', 'confirm_user')))
throw new InvalidParam('interactivity', $interactivity);
# Redirect to the "apps" folder. This is done there (not here)
# because: 1) we don't want any cookie or session-handling
# done in the "services" folder. 2) "services" don't display
# any interactive webpages, they just return the result.
return new OkapiRedirectResponse(Settings::get('SITE_URL')."okapi/apps/authorize".
"?oauth_token=".$token_key.(($langpref != null) ? "&langpref=".$langpref : "").
"&interactivity=".$interactivity);
}
}