diff --git a/app/Http/Controllers/Api/ClientApiController.php b/app/Http/Controllers/Api/ClientApiController.php index 1fe132db..07408ccd 100644 --- a/app/Http/Controllers/Api/ClientApiController.php +++ b/app/Http/Controllers/Api/ClientApiController.php @@ -596,7 +596,7 @@ final class ClientApiController extends AbstractRESTController implements ICRUDC } return $this->ok([ 'total' => $paginator->total(), - 'pages' => $paginator->total() > 0 ? ceil($paginator->total()/$page_size) : 0, + 'pages' => $paginator->total() > 0 && $page_size > 0 ? ceil($paginator->total()/$page_size) : 0, 'items' => $res ]); } diff --git a/app/Http/Controllers/Api/UserApiController.php b/app/Http/Controllers/Api/UserApiController.php index 5ddb775c..e71c80a3 100644 --- a/app/Http/Controllers/Api/UserApiController.php +++ b/app/Http/Controllers/Api/UserApiController.php @@ -93,7 +93,7 @@ class UserApiController extends AbstractRESTController implements ICRUDControlle $hint = Input::get('hint','none'); switch($hint){ - case 'access_token':{ + case 'access-token':{ $token = $this->token_service->getAccessToken($value,true); if(is_null($token)) throw new Exception(sprintf("access token %s expired!.",$value)); @@ -102,7 +102,7 @@ class UserApiController extends AbstractRESTController implements ICRUDControlle $this->token_service->revokeAccessToken($value,true); } break; - case 'refresh_token': + case 'refresh-token': $token = $this->token_service->getRefreshToken($value,true); if(is_null($token)) throw new Exception(sprintf("access token %s expired!.",$value)); diff --git a/app/Repositories/AbstractEloquentOAuth2TokenRepository.php b/app/Repositories/AbstractEloquentOAuth2TokenRepository.php index 65ed1889..61782694 100644 --- a/app/Repositories/AbstractEloquentOAuth2TokenRepository.php +++ b/app/Repositories/AbstractEloquentOAuth2TokenRepository.php @@ -48,10 +48,14 @@ abstract class AbstractEloquentOAuth2TokenRepository extends AbstractEloquentEnt */ function getAllValidByClientIdentifier($client_identifier, $page_nbr = 1, $page_size = 10) { - return $this->getAll($page_nbr, $page_size, [ + return $this->getAll($page_nbr, $page_size, $this->getAllValidByClientIdentifierFilterCondition($client_identifier)); + } + + protected function getAllValidByClientIdentifierFilterCondition($client_identifier){ + return [ ['name' => 'client_id', 'op' => '=','value' => $client_identifier ], ['raw' => 'DATE_ADD(created_at, INTERVAL lifetime second) >= UTC_TIMESTAMP()'], - ]); + ]; } /** @@ -62,10 +66,14 @@ abstract class AbstractEloquentOAuth2TokenRepository extends AbstractEloquentEnt */ function getAllValidByUserId($user_id, $page_nbr = 1, $page_size = 10) { - return $this->getAll($page_nbr, $page_size, [ + return $this->getAll($page_nbr, $page_size, $this->getAllValidByUserIdFilterCondition($user_id)); + } + + protected function getAllValidByUserIdFilterCondition($user_id){ + return [ ['name' => 'user_id', 'op' => '=','value' => $user_id ], ['raw' => 'DATE_ADD(created_at, INTERVAL lifetime second) >= UTC_TIMESTAMP()'], - ]); + ]; } /** diff --git a/app/Repositories/EloquentRefreshTokenRepository.php b/app/Repositories/EloquentRefreshTokenRepository.php index d78415bb..848821e5 100644 --- a/app/Repositories/EloquentRefreshTokenRepository.php +++ b/app/Repositories/EloquentRefreshTokenRepository.php @@ -31,4 +31,19 @@ final class EloquentRefreshTokenRepository extends AbstractEloquentOAuth2TokenRe $this->log_service = $log_service; } + protected function getAllValidByClientIdentifierFilterCondition($client_identifier){ + + return [ + ['name' => 'client_id', 'op' => '=','value' => $client_identifier ], + ['name' => 'void', 'op' => '=','value' => 0], + ]; + } + + protected function getAllValidByUserIdFilterCondition($user_id){ + return [ + ['name' => 'user_id', 'op' => '=','value' => $user_id ], + ['name' => 'void', 'op' => '=','value' => 0], + ]; + } + } \ No newline at end of file diff --git a/public/assets/js/oauth2/profile/edit-client-data.js b/public/assets/js/oauth2/profile/edit-client-data.js index 4188cc95..04f2fe2b 100644 --- a/public/assets/js/oauth2/profile/edit-client-data.js +++ b/public/assets/js/oauth2/profile/edit-client-data.js @@ -12,7 +12,7 @@ jQuery(document).ready(function($){ // event.item: contains the item // event.cancel: set to true to prevent the item getting added var regex_email = /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/ig; - var current = regex_email.test( event.item ); + var current = regex_email.test( event.item ); if(!current) event.cancel = true; }); diff --git a/public/assets/js/oauth2/profile/edit-client-tokens.js b/public/assets/js/oauth2/profile/edit-client-tokens.js index ca01b677..aa174361 100644 --- a/public/assets/js/oauth2/profile/edit-client-tokens.js +++ b/public/assets/js/oauth2/profile/edit-client-tokens.js @@ -1,5 +1,10 @@ +var pageSizeTokens = 25; +var refreshTokenCurrentPage = 1; +var accessTokenCurrentPage = 1; + function updateAccessTokenList(page, page_size){ //reload access tokens + accessTokenCurrentPage = page; $.ajax({ type: "GET", url: TokensUrls.AccessTokenUrls.get +'?offset='+page+'&limit='+page_size, @@ -36,7 +41,8 @@ function updateAccessTokenList(page, page_size){ $('#body-access-tokens').html(html.html()); var pages_html = ''; for(var i = 0 ; i < data.pages ; i++){ - pages_html += "