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;
{
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;
$urlGen = $this->deps->urlGen;
try {
- $provider = new \OAuthProvider();
+ $provider = OAuth::getProvider();
$oauth->registerHandler($provider)
->registerVerificationTokenHandler($provider);
$provider->checkOAuthRequest(
$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(
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'
),
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);
$urlGen = $this->deps->urlGen;
try {
- $provider = new \OAuthProvider();
+ $provider = OAuth::getProvider();
$oauth->registerHandler($provider);
$provider->isRequestTokenEndpoint(true);
$provider->checkOAuthRequest(
array(
'oauth_token' => $token->tokenKey,
'oauth_token_secret' => $token->secret,
- 'oauth_callback_confirmed' => 'TRUE'
+ 'oauth_callback_confirmed' => 'true'
)
);
} catch (OAuthException $e) {