X-Git-Url: https://git.cweiske.de/grauphel.git/blobdiff_plain/db2f09d46ce2f3a46be1b6f6e031492966242025..ce010bc12b8b0a03e662a2f4df984daa6d252fb8:/controller/oauthcontroller.php diff --git a/controller/oauthcontroller.php b/controller/oauthcontroller.php index 1dfdec9..dfb02c5 100644 --- a/controller/oauthcontroller.php +++ b/controller/oauthcontroller.php @@ -15,10 +15,10 @@ namespace OCA\Grauphel\Controller; use \OCP\AppFramework\Controller; use \OCP\AppFramework\Http; -use \OCP\AppFramework\Http\JSONResponse; use \OCP\AppFramework\Http\RedirectResponse; use \OCP\AppFramework\Http\TemplateResponse; +use \OCA\Grauphel\Lib\Client; use \OCA\Grauphel\Lib\Token; use \OCA\Grauphel\Lib\OAuth; use \OCA\Grauphel\Lib\Dependencies; @@ -42,13 +42,13 @@ class OauthController extends Controller { protected $user; - /** - * constructor of the controller + /** + * constructor of the controller * - * @param string $appName Name of the app - * @param IRequest $request Instance of the request - */ - public function __construct($appName, \OCP\IRequest $request, $user) + * @param string $appName Name of the app + * @param IRequest $request Instance of the request + */ + public function __construct($appName, \OCP\IRequest $request, $user) { parent::__construct($appName, $request); $this->user = $user; @@ -73,7 +73,7 @@ class OauthController extends Controller $urlGen = $this->deps->urlGen; try { - $provider = new \OAuthProvider(); + $provider = OAuth::getProvider(); $oauth->registerHandler($provider) ->registerVerificationTokenHandler($provider); $provider->checkOAuthRequest( @@ -88,6 +88,7 @@ class OauthController extends Controller $newToken->tokenKey = 'a' . bin2hex($provider->generateToken(8)); $newToken->secret = 's' . bin2hex($provider->generateToken(8)); $newToken->user = $token->user; + $newToken->client = $token->client; $this->deps->tokens->store($newToken); return new FormResponse( @@ -119,10 +120,20 @@ class OauthController extends Controller return $token; } + $clientTitle = 'unknown'; + $clientAgent = ''; + if (isset($_GET['client'])) { + $clientAgent = $_GET['client']; + $cl = new Client(); + $clientTitle = $cl->getNiceName($clientAgent); + } + $res = new TemplateResponse('grauphel', 'oauthAuthorize'); $res->setParams( array( 'oauth_token' => $token->tokenKey, + 'clientTitle' => $clientTitle, + 'clientAgent' => $clientAgent, 'formaction' => $this->deps->urlGen->linkToRoute( 'grauphel.oauth.confirm' ), @@ -167,14 +178,20 @@ class OauthController extends Controller return $res; } + $clientAgent = ''; + if (isset($_POST['client'])) { + $clientAgent = $_POST['client']; + } + //the user is logged in and authorized - $provider = new \OAuthProvider(); + $provider = OAuth::getProvider(); $newToken = new Token('verify'); $newToken->tokenKey = $token->tokenKey; $newToken->secret = $token->secret; $newToken->verifier = 'v' . bin2hex($provider->generateToken(8)); $newToken->user = $this->user->getUID(); + $newToken->client = $clientAgent; $this->deps->tokens->store($newToken); @@ -231,7 +248,7 @@ class OauthController extends Controller $urlGen = $this->deps->urlGen; try { - $provider = new \OAuthProvider(); + $provider = OAuth::getProvider(); $oauth->registerHandler($provider); $provider->isRequestTokenEndpoint(true); $provider->checkOAuthRequest( @@ -252,7 +269,7 @@ class OauthController extends Controller array( 'oauth_token' => $token->tokenKey, 'oauth_token_secret' => $token->secret, - 'oauth_callback_confirmed' => 'TRUE' + 'oauth_callback_confirmed' => 'true' ) ); } catch (OAuthException $e) {