)->fetchRow();
if ($tokenRow === false) {
- throw new OAuthException('Unknown token: ' . $type . ' / ' . $tokenKey);
+ throw new OAuthException(
+ 'Unknown token: ' . $type . ' / ' . $tokenKey,
+ OAUTH_TOKEN_REJECTED
+ );
}
$token = $this->fromDb($tokenRow);
if ($token->tokenKey != $tokenKey) {
- throw new OAuthException('Invalid token');
+ throw new OAuthException('Invalid token', OAUTH_TOKEN_REJECTED);
}
return $token;
}
+ /**
+ * Load multiple tokens
+ *
+ * @param string $username User name
+ * @param string $type Token type: temp, access, verify
+ *
+ * @return array Array of Token objects
+ */
+ public function loadForUser($username, $type)
+ {
+ $result = \OC_DB::executeAudited(
+ 'SELECT * FROM `*PREFIX*grauphel_oauth_tokens`'
+ . ' WHERE `token_user` = ? AND `token_type` = ?',
+ array($username, $type)
+ );
+
+ $tokens = array();
+ while ($tokenRow = $result->fetchRow()) {
+ $tokens[] = $this->fromDb($tokenRow);
+ }
+
+ return $tokens;
+ }
+
protected function fromDb($tokenRow)
{
$token = new Token();