private function RestfulTokenAuthController::generateRefreshToken in RESTful 7
Create a refresh token for the current user
It will delete all the existing refresh tokens for that same user as well.
Parameters
int $uid: The user ID.
Return value
\RestfulTokenAuth The token entity.
1 call to RestfulTokenAuthController::generateRefreshToken()
- RestfulTokenAuthController::generateAccessToken in modules/
restful_token_auth/ includes/ RestfulTokenAuthController.php - Create a new access_token entity with a referenced refresh_token.
File
- modules/
restful_token_auth/ includes/ RestfulTokenAuthController.php, line 52 - Contains \RestfulTokenAuthController
Class
- RestfulTokenAuthController
- @file Contains \RestfulTokenAuthController
Code
private function generateRefreshToken($uid) {
// Check if there are other refresh tokens for the user.
$query = new \EntityFieldQuery();
$results = $query
->entityCondition('entity_type', 'restful_token_auth')
->entityCondition('bundle', 'refresh_token')
->propertyCondition('uid', $uid)
->execute();
if (!empty($results['restful_token_auth'])) {
// Delete the tokens.
entity_delete_multiple('restful_token_auth', array_keys($results['restful_token_auth']));
}
// Create a new refresh token.
$values = array(
'uid' => $uid,
'type' => 'refresh_token',
'created' => REQUEST_TIME,
'name' => t('Refresh token for: @uid', array(
'@uid' => $uid,
)),
'token' => drupal_random_key(),
);
$refresh_token = $this
->create($values);
$this
->save($refresh_token);
return $refresh_token;
}