diff options
author | Zach Copley <zach@status.net> | 2010-02-02 07:35:54 +0000 |
---|---|---|
committer | Zach Copley <zach@status.net> | 2010-02-05 03:18:43 +0000 |
commit | b31c79cee1565ca9bca5bcaffcbec04ddb312041 (patch) | |
tree | 299feb385e90947c8619694122f004e8aa454755 /lib | |
parent | e495ac356c10a6abc0e10c81892830b5e198ef60 (diff) |
Better token revocation
Diffstat (limited to 'lib')
-rw-r--r-- | lib/apioauthstore.php | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/lib/apioauthstore.php b/lib/apioauthstore.php index 32110d057..1bb11cbca 100644 --- a/lib/apioauthstore.php +++ b/lib/apioauthstore.php @@ -159,5 +159,32 @@ class ApiStatusNetOAuthDataStore extends StatusNetOAuthDataStore } } + /** + * Revoke specified access token + * + * Revokes the token specified by $token_key. + * Throws exceptions in case of error. + * + * @param string $token_key the token to be revoked + * @param int $type type of token (0 = req, 1 = access) + * + * @access public + * + * @return void + */ + + public function revoke_token($token_key, $type = 0) { + $rt = new Token(); + $rt->tok = $token_key; + $rt->type = $type; + $rt->state = 0; + if (!$rt->find(true)) { + throw new Exception('Tried to revoke unknown token'); + } + if (!$rt->delete()) { + throw new Exception('Failed to delete revoked token'); + } + } + } |