class RestfulTokenAuthController in RESTful 7
@file Contains \RestfulTokenAuthController
Hierarchy
- class \DrupalDefaultEntityController implements DrupalEntityControllerInterface
- class \EntityAPIController implements EntityAPIControllerRevisionableInterface
- class \RestfulTokenAuthController
- class \EntityAPIController implements EntityAPIControllerRevisionableInterface
Expanded class hierarchy of RestfulTokenAuthController
1 string reference to 'RestfulTokenAuthController'
- restful_token_auth_entity_info in modules/
restful_token_auth/ restful_token_auth.module - Implements hook_entity_info().
File
- modules/
restful_token_auth/ includes/ RestfulTokenAuthController.php, line 8 - Contains \RestfulTokenAuthController
View source
class RestfulTokenAuthController extends \EntityAPIController {
/**
* Create a new access_token entity with a referenced refresh_token.
*
* @param int $uid
* The user ID.
*
* @return \RestfulTokenAuth
* The created entity.
*/
public function generateAccessToken($uid) {
$refresh_token = $this
->generateRefreshToken($uid);
// Create a new access token.
$values = array(
'uid' => $uid,
'type' => 'access_token',
'created' => REQUEST_TIME,
'name' => t('Access token for: @uid', array(
'@uid' => $uid,
)),
'token' => drupal_random_key(),
'expire' => $this
->getExpireTime(),
'refresh_token_reference' => array(
LANGUAGE_NONE => array(
array(
'target_id' => $refresh_token->id,
),
),
),
);
$access_token = $this
->create($values);
$this
->save($access_token);
return $access_token;
}
/**
* Create a refresh token for the current user
*
* It will delete all the existing refresh tokens for that same user as well.
*
* @param int $uid
* The user ID.
*
* @return \RestfulTokenAuth
* The token entity.
*/
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;
}
/**
* Return the expiration time.
*
* @throws RestfulServerConfigurationException
*
* @return int
* Timestamp with the expiration time.
*/
protected function getExpireTime() {
$now = new \DateTime();
try {
$expiration = $now
->add(new \DateInterval(variable_get('restful_token_auth_expiration_period', 'P1D')));
} catch (\Exception $e) {
throw new \RestfulServerConfigurationException('Invalid DateInterval format provided.');
}
return $expiration
->format('U');
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DrupalDefaultEntityController:: |
protected | property | Whether this entity type should use the static cache. | |
DrupalDefaultEntityController:: |
protected | property | Static cache of entities, keyed by entity ID. | |
DrupalDefaultEntityController:: |
protected | property | Array of information about the entity. | |
DrupalDefaultEntityController:: |
protected | property | Entity type for this controller instance. | |
DrupalDefaultEntityController:: |
protected | property | Additional arguments to pass to hook_TYPE_load(). | |
DrupalDefaultEntityController:: |
protected | property | Name of the entity's ID field in the entity database table. | |
DrupalDefaultEntityController:: |
protected | property | Name of entity's revision database table field, if it supports revisions. | |
DrupalDefaultEntityController:: |
protected | property | The table that stores revisions, if the entity supports revisions. | |
DrupalDefaultEntityController:: |
protected | function | Attaches data to entities upon loading. | 4 |
DrupalDefaultEntityController:: |
protected | function | Gets entities from the static cache. | 1 |
DrupalDefaultEntityController:: |
protected | function | Stores entities in the static entity cache. | |
DrupalDefaultEntityController:: |
protected | function | Ensures integer entity IDs are valid. | |
DrupalDefaultEntityController:: |
protected | function | Callback for array_filter that removes non-integer IDs. | |
EntityAPIController:: |
protected | property | ||
EntityAPIController:: |
protected | property | ||
EntityAPIController:: |
protected | property | ||
EntityAPIController:: |
public | function |
Implements EntityAPIControllerInterface. Overrides EntityAPIControllerInterface:: |
|
EntityAPIController:: |
protected | function |
Overrides DrupalDefaultEntityController::buildQuery(). Overrides DrupalDefaultEntityController:: |
1 |
EntityAPIController:: |
public | function |
Implements EntityAPIControllerInterface. Overrides EntityAPIControllerInterface:: |
|
EntityAPIController:: |
public | function |
Implements EntityAPIControllerInterface. Overrides EntityAPIControllerInterface:: |
1 |
EntityAPIController:: |
public | function |
Implements EntityAPIControllerRevisionableInterface::deleteRevision(). Overrides EntityAPIControllerRevisionableInterface:: |
|
EntityAPIController:: |
public | function |
Implements EntityAPIControllerInterface. Overrides EntityAPIControllerInterface:: |
1 |
EntityAPIController:: |
public | function |
Implements EntityAPIControllerInterface. Overrides EntityAPIControllerInterface:: |
|
EntityAPIController:: |
public | function |
Implements EntityAPIControllerInterface. Overrides EntityAPIControllerInterface:: |
1 |
EntityAPIController:: |
public | function |
Overridden. Overrides DrupalDefaultEntityController:: |
1 |
EntityAPIController:: |
public | function | Builds and executes the query for loading. | |
EntityAPIController:: |
protected | function | Renders a single entity property. | |
EntityAPIController:: |
public | function |
Overrides DrupalDefaultEntityController::resetCache(). Overrides DrupalDefaultEntityController:: |
1 |
EntityAPIController:: |
public | function |
Implements EntityAPIControllerInterface. Overrides EntityAPIControllerInterface:: |
1 |
EntityAPIController:: |
protected | function | Saves an entity revision. | |
EntityAPIController:: |
public | function |
Implements EntityAPIControllerInterface. Overrides EntityAPIControllerInterface:: |
1 |
EntityAPIController:: |
public | function |
Overridden. Overrides DrupalDefaultEntityController:: |
1 |
RestfulTokenAuthController:: |
public | function | Create a new access_token entity with a referenced refresh_token. | |
RestfulTokenAuthController:: |
private | function | Create a refresh token for the current user | |
RestfulTokenAuthController:: |
protected | function | Return the expiration time. |