Skip to content

Commit bfc7c92

Browse files
author
Fosco Marotto
committed
Updated per review.
1 parent cbb3802 commit bfc7c92

File tree

4 files changed

+22
-6
lines changed

4 files changed

+22
-6
lines changed

src/Parse/ParseClient.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -399,6 +399,7 @@ public static function getLocalPushDateFormat($value)
399399
* all requests for the app to use them. After calling this method, login & signup requests
400400
* will be returned a unique and revocable session token.
401401
*
402+
* @return null
402403
*/
403404
public static function enableRevocableSessions()
404405
{

src/Parse/ParseSession.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
use Parse\ParseUser;
77

88
/**
9-
* ParseSession - Representation of an expiring user session
9+
* ParseSession - Representation of an expiring user session.
1010
*
1111
* @package Parse
1212
* @author Fosco Marotto <fjm@fb.com>
@@ -31,15 +31,15 @@ public function getSessionToken()
3131
/**
3232
* Retrieves the Session object for the currently logged in user.
3333
*
34-
* @param boolean $useMasterKey If the Master Key should be used to override security
34+
* @param boolean $useMasterKey If the Master Key should be used to override security.
3535
*
3636
* @return ParseSession
3737
*/
3838
public static function getCurrentSession($useMasterKey = false)
3939
{
40-
$session = new ParseSession();
4140
$token = ParseUser::getCurrentUser()->getSessionToken();
4241
$response = ParseClient::_request('GET', '/1/sessions/me', $token, null, $useMasterKey);
42+
$session = new ParseSession();
4343
$session->_mergeAfterFetch($response);
4444
$session->handleSaveResult();
4545
return $session;

src/Parse/ParseUser.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,9 +169,10 @@ public static function become($sessionToken)
169169
*/
170170
public static function logOut()
171171
{
172-
if (ParseUser::getCurrentUser()) {
172+
$user = ParseUser::getCurrentUser();
173+
if ($user) {
173174
try {
174-
$result = ParseClient::_request('GET', '/1/logout');
175+
ParseClient::_request('POST', '/1/logout', $user->getSessionToken());
175176
} catch (ParseException $ex) {
176177
// If this fails, we're going to ignore it.
177178
}

tests/ParseSessionTest.php

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public static function tearDownAfterClass()
3232
ParseSession::_unregisterSubclass();
3333
}
3434

35-
public function testGetCurrentSession()
35+
public function testRevocableSession()
3636
{
3737
ParseClient::enableRevocableSessions();
3838
$user = new ParseUser();
@@ -42,6 +42,20 @@ public function testGetCurrentSession()
4242
$session = ParseSession::getCurrentSession();
4343
$this->assertEquals($user->getSessionToken(), $session->getSessionToken());
4444
$this->assertTrue($session->isCurrentSessionRevocable());
45+
46+
ParseUser::logOut();
47+
48+
ParseUser::logIn("username", "password");
49+
$session = ParseSession::getCurrentSession();
50+
$this->assertEquals(ParseUser::getCurrentUser()->getSessionToken(), $session->getSessionToken());
51+
$this->assertTrue($session->isCurrentSessionRevocable());
52+
53+
$sessionToken = $session->getSessionToken();
54+
55+
ParseUser::logOut();
56+
57+
$this->setExpectedException('Parse\ParseException', 'invalid session token');
58+
ParseUser::become($sessionToken);
4559
}
4660

4761
}

0 commit comments

Comments
 (0)