aboutsummaryrefslogtreecommitdiff
path: root/controller
diff options
context:
space:
mode:
authorChristian Weiske <cweiske@cweiske.de>2014-09-30 23:13:49 +0200
committerChristian Weiske <cweiske@cweiske.de>2014-09-30 23:13:49 +0200
commiteb5c81dea5a60bc65d3ec607daf5ad81fd709928 (patch)
tree81407f1e67adba222a020e142d0ebfb15a3f5ef3 /controller
parentf38e545235173bb145e4b1c9c29dc2960a0a3389 (diff)
downloadgrauphel-eb5c81dea5a60bc65d3ec607daf5ad81fd709928.tar.gz
grauphel-eb5c81dea5a60bc65d3ec607daf5ad81fd709928.zip
store client name and last use time for tokens. show them in token management
Diffstat (limited to 'controller')
-rw-r--r--controller/apicontroller.php32
-rw-r--r--controller/guicontroller.php4
-rw-r--r--controller/oauthcontroller.php19
3 files changed, 22 insertions, 33 deletions
diff --git a/controller/apicontroller.php b/controller/apicontroller.php
index ee16f80..688d0b0 100644
--- a/controller/apicontroller.php
+++ b/controller/apicontroller.php
@@ -16,6 +16,7 @@ namespace OCA\Grauphel\Controller;
use \OCP\AppFramework\Controller;
use \OCP\AppFramework\Http\JSONResponse;
+use \OCA\Grauphel\Lib\Client;
use \OCA\Grauphel\Lib\NoteStorage;
use \OCA\Grauphel\Lib\OAuth;
use \OCA\Grauphel\Lib\OAuthException;
@@ -105,10 +106,10 @@ class ApiController extends Controller
'api-version' => '1.0',
);
- $client = $this->getClient();
+ $cl = new Client();
+ $client = $cl->getClient();
if ($client !== false) {
- $data['oauth_authorize_url'] .= '?client='
- . urlencode($this->getNiceClientName($client));
+ $data['oauth_authorize_url'] .= '?client=' . urlencode($client);
}
if ($authenticated) {
@@ -333,31 +334,6 @@ class ApiController extends Controller
return new JSONResponse($note);
}
- protected function getClient()
- {
- if (isset($_SERVER['HTTP_X_TOMBOY_CLIENT'])) {
- $client = $_SERVER['HTTP_X_TOMBOY_CLIENT'];
- $doublepos = strpos($client, ', org.tomdroid');
- if ($doublepos !== false) {
- //https://bugs.launchpad.net/tomdroid/+bug/1375436
- //X-Tomboy-Client header is sent twice
- $client = substr($client, 0, $doublepos);
- }
- return $client;
- }
-
- return false;
- }
-
- protected function getNiceClientName($client)
- {
- if (substr($client, 0, 12) == 'org.tomdroid') {
- //org.tomdroid v0.7.5, build 14, Android v4.4.2, innotek GmbH/VirtualBox
- return 'Tomdroid';
- }
- return $client;
- }
-
/**
* Checks if the given user is authorized (by oauth token or normal login)
*
diff --git a/controller/guicontroller.php b/controller/guicontroller.php
index 947e23e..6d59fd5 100644
--- a/controller/guicontroller.php
+++ b/controller/guicontroller.php
@@ -15,6 +15,7 @@ namespace OCA\Grauphel\Controller;
use \OCP\AppFramework\Controller;
use \OCP\AppFramework\Http\TemplateResponse;
+use \OCA\Grauphel\Lib\Client;
use \OCA\Grauphel\Lib\TokenStorage;
/**
@@ -108,7 +109,8 @@ class GuiController extends Controller
array(
'tokens' => $tokens->loadForUser(
$this->user->getUid(), 'access'
- )
+ ),
+ 'client' => new Client(),
)
);
$this->addNavigation($res, null);
diff --git a/controller/oauthcontroller.php b/controller/oauthcontroller.php
index 6ab17d2..bc66de4 100644
--- a/controller/oauthcontroller.php
+++ b/controller/oauthcontroller.php
@@ -18,6 +18,7 @@ use \OCP\AppFramework\Http;
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;
@@ -87,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(
@@ -118,19 +120,22 @@ class OauthController extends Controller
return $token;
}
- $client = 'unknown';
+ $clientTitle = 'unknown';
+ $clientAgent = '';
if (isset($_GET['client'])) {
- $client = $_GET['client'];
+ $clientAgent = $_GET['client'];
+ $cl = new Client();
+ $clientTitle = $cl->getNiceName($clientAgent);
}
$res = new TemplateResponse('grauphel', 'oauthAuthorize');
$res->setParams(
array(
'oauth_token' => $token->tokenKey,
- 'client' => $client,
+ 'client' => $clientTitle,
'formaction' => $this->deps->urlGen->linkToRoute(
'grauphel.oauth.confirm'
- ),
+ ) . '?client=' . urlencode($clientAgent),
)
);
return $res;
@@ -172,6 +177,11 @@ class OauthController extends Controller
return $res;
}
+ $clientAgent = '';
+ if (isset($_GET['client'])) {
+ $clientAgent = $_GET['client'];
+ }
+
//the user is logged in and authorized
$provider = OAuth::getProvider();
@@ -180,6 +190,7 @@ class OauthController extends Controller
$newToken->secret = $token->secret;
$newToken->verifier = 'v' . bin2hex($provider->generateToken(8));
$newToken->user = $this->user->getUID();
+ $newToken->client = $clientAgent;
$this->deps->tokens->store($newToken);