diff --git a/app/contracts/IAuthService1.php b/app/contracts/IAuthService1.php index e244819e..5ac8c111 100644 --- a/app/contracts/IAuthService1.php +++ b/app/contracts/IAuthService1.php @@ -122,6 +122,16 @@ public function GetAccessToken($bearerToken); */ public function GetClient($clientId, $clientSecret); + /** + * @permission oauth-provider + * + * @param $clientId + * @param $clientSecret + * + * @return mixed + */ + public function GetClientInfo($clientId); + /** * @permission oauth-provider * diff --git a/app/services/AuthService.php b/app/services/AuthService.php index 1da8f8ba..79da843c 100644 --- a/app/services/AuthService.php +++ b/app/services/AuthService.php @@ -370,7 +370,7 @@ public function GetAccessToken($bearerToken) { } /** - * @permission oauth-provider + * @permission anonymous * * @param $clientId * @param $clientSecret @@ -387,6 +387,24 @@ public function GetClient($clientId, $clientSecret) { return null; } + /** + * @permission oauth-provider + * @permission authenticated + * + * @param $clientId + * + * @return mixed + */ + public function GetClientInfo($clientId) { + $client = AppClient::find($clientId); + + if (!is_null($client)) { + return $this->trimClientInfo($client); + } + + return null; + } + /** * @permission oauth-provider * @@ -738,6 +756,19 @@ private function trimClient($client) { ]; } + private function trimClientInfo($client) { + if (is_null($client)) { + return null; + } + + return [ + 'name' => $client->name, + 'description' => $client->description, + 'url' => $client->url, + 'redirecturi' => $client->redirecturi + ]; + } + private function trimUser($user) { if (is_null($user)) { return null;