function example_entity_query_alter in OAuth2 Server 7
An example hook_entity_query_alter() implementation for scope access.
File
- ./
oauth2_server.api.php, line 164 - Hooks provided by the OAuth2 Server module.
Code
function example_entity_query_alter($query) {
global $user;
// This is an EFQ used to get all scopes available to the user
// (inside the Scope class, or when showing the authorize form, for instance).
if (!empty($query->tags['oauth2_server_scope_access'])) {
$server = $query->metaData['oauth2_server'];
// On the "test" server only return scopes that have the current user
// in an example "users" entityreference field.
if ($server->name == 'test' && $user->uid) {
$query
->fieldCondition('users', 'target_id', $user->uid);
}
}
// This is an EFQ used to get all exportable scopes.
if (!empty($query->tags['oauth2_server_scope_export'])) {
$server = $query->metaData['oauth2_server'];
// On the "test" server only export scopes assigned to admin.
if ($server->name == 'test') {
$query
->fieldCondition('users', 'target_id', 1);
}
}
}