aboutsummaryrefslogtreecommitdiffstats
path: root/apps/oauth2
diff options
context:
space:
mode:
authorjld3103 <jld3103yt@gmail.com>2023-02-27 16:47:46 +0100
committerjld3103 <jld3103yt@gmail.com>2023-07-12 07:32:30 +0200
commit1c19c567fed25f3041396df729b41e7e6dda60b0 (patch)
tree5ab7b3156c2c0f9814ccca6e2ed0642dbf506a8b /apps/oauth2
parent2cf8d6d9652a55f81c6800f2e69b71597736c56c (diff)
downloadnextcloud-server-1c19c567fed25f3041396df729b41e7e6dda60b0.tar.gz
nextcloud-server-1c19c567fed25f3041396df729b41e7e6dda60b0.zip
oauth2: Add OpenAPI spec
Signed-off-by: jld3103 <jld3103yt@gmail.com>
Diffstat (limited to 'apps/oauth2')
-rw-r--r--apps/oauth2/lib/Controller/LoginRedirectorController.php18
-rw-r--r--apps/oauth2/lib/Controller/OauthApiController.php18
-rw-r--r--apps/oauth2/openapi.json2
3 files changed, 25 insertions, 13 deletions
diff --git a/apps/oauth2/lib/Controller/LoginRedirectorController.php b/apps/oauth2/lib/Controller/LoginRedirectorController.php
index 57f18a97f85..7b83e39ca86 100644
--- a/apps/oauth2/lib/Controller/LoginRedirectorController.php
+++ b/apps/oauth2/lib/Controller/LoginRedirectorController.php
@@ -8,6 +8,7 @@ declare(strict_types=1);
* @author Daniel Kesselberg <mail@danielkesselberg.de>
* @author Lukas Reschke <lukas@statuscode.ch>
* @author Roeland Jago Douma <roeland@famdouma.nl>
+ * @author Kate Döen <kate.doeen@nextcloud.com>
*
* @license GNU AGPL version 3 or any later version
*
@@ -30,8 +31,8 @@ namespace OCA\OAuth2\Controller;
use OCA\OAuth2\Db\ClientMapper;
use OCA\OAuth2\Exceptions\ClientNotFoundException;
use OCP\AppFramework\Controller;
+use OCP\AppFramework\Http;
use OCP\AppFramework\Http\RedirectResponse;
-use OCP\AppFramework\Http\Response;
use OCP\AppFramework\Http\TemplateResponse;
use OCP\IL10N;
use OCP\IRequest;
@@ -74,14 +75,19 @@ class LoginRedirectorController extends Controller {
* @NoCSRFRequired
* @UseSession
*
- * @param string $client_id
- * @param string $state
- * @param string $response_type
- * @return Response
+ * Authorize the user
+ *
+ * @param string $client_id Client ID
+ * @param string $state State of the flow
+ * @param string $response_type Response type for the flow
+ * @return TemplateResponse<Http::STATUS_OK, array{}>|RedirectResponse<Http::STATUS_SEE_OTHER, array{}>
+ *
+ * 200: Client not found
+ * 303: Redirect to login URL
*/
public function authorize($client_id,
$state,
- $response_type): Response {
+ $response_type): TemplateResponse|RedirectResponse {
try {
$client = $this->clientMapper->getByIdentifier($client_id);
} catch (ClientNotFoundException $e) {
diff --git a/apps/oauth2/lib/Controller/OauthApiController.php b/apps/oauth2/lib/Controller/OauthApiController.php
index e07a2c2de15..8cdd8132441 100644
--- a/apps/oauth2/lib/Controller/OauthApiController.php
+++ b/apps/oauth2/lib/Controller/OauthApiController.php
@@ -8,6 +8,7 @@ declare(strict_types=1);
* @author Christoph Wurst <christoph@winzerhof-wurst.at>
* @author Lukas Reschke <lukas@statuscode.ch>
* @author Roeland Jago Douma <roeland@famdouma.nl>
+ * @author Kate Döen <kate.doeen@nextcloud.com>
*
* @license GNU AGPL version 3 or any later version
*
@@ -66,12 +67,17 @@ class OauthApiController extends Controller {
* @NoCSRFRequired
* @BruteForceProtection(action=oauth2GetToken)
*
- * @param string $grant_type
- * @param string $code
- * @param string $refresh_token
- * @param string $client_id
- * @param string $client_secret
- * @return JSONResponse
+ * Get a token
+ *
+ * @param string $grant_type Token type that should be granted
+ * @param string $code Code of the flow
+ * @param string $refresh_token Refresh token
+ * @param string $client_id Client ID
+ * @param string $client_secret Client secret
+ * @return JSONResponse<Http::STATUS_OK, array{access_token: string, token_type: string, expires_in: int, refresh_token: string, user_id: string}, array{}>|JSONResponse<Http::STATUS_BAD_REQUEST, array{error: string}, array{}>
+ *
+ * 200: Token returned
+ * 400: Getting token is not possible
*/
public function getToken($grant_type, $code, $refresh_token, $client_id, $client_secret): JSONResponse {
diff --git a/apps/oauth2/openapi.json b/apps/oauth2/openapi.json
index 57a7bee1a64..a9903ae3473 100644
--- a/apps/oauth2/openapi.json
+++ b/apps/oauth2/openapi.json
@@ -19,7 +19,7 @@
"scheme": "bearer"
}
},
- "schemas": []
+ "schemas": {}
},
"paths": {
"/index.php/apps/oauth2/authorize": {