diff options
author | jld3103 <jld3103yt@gmail.com> | 2023-05-24 16:34:27 +0200 |
---|---|---|
committer | backportbot-nextcloud[bot] <backportbot-nextcloud[bot]@users.noreply.github.com> | 2023-05-24 16:25:28 +0000 |
commit | b683f77842e24bb7bb44c8d131a96297b18d4104 (patch) | |
tree | 0f0218ea86060901e0b6b7dafb0943fe9adb9508 /apps/oauth2 | |
parent | 16a1ec629fc816e37ff6e19f0b3c72fb8658dd5f (diff) | |
download | nextcloud-server-b683f77842e24bb7bb44c8d131a96297b18d4104.tar.gz nextcloud-server-b683f77842e24bb7bb44c8d131a96297b18d4104.zip |
Add OpenAPI specs
Signed-off-by: jld3103 <jld3103yt@gmail.com>
Diffstat (limited to 'apps/oauth2')
-rw-r--r-- | apps/oauth2/openapi.json | 216 |
1 files changed, 216 insertions, 0 deletions
diff --git a/apps/oauth2/openapi.json b/apps/oauth2/openapi.json new file mode 100644 index 00000000000..57a7bee1a64 --- /dev/null +++ b/apps/oauth2/openapi.json @@ -0,0 +1,216 @@ +{ + "openapi": "3.0.3", + "info": { + "title": "oauth2", + "version": "0.0.1", + "description": "Allows OAuth2 compatible authentication from other web applications.", + "license": { + "name": "agpl" + } + }, + "components": { + "securitySchemes": { + "basic_auth": { + "type": "http", + "scheme": "basic" + }, + "bearer_auth": { + "type": "http", + "scheme": "bearer" + } + }, + "schemas": [] + }, + "paths": { + "/index.php/apps/oauth2/authorize": { + "get": { + "operationId": "login_redirector-authorize", + "summary": "Authorize the user", + "tags": [ + "login_redirector" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "client_id", + "in": "query", + "description": "Client ID", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "state", + "in": "query", + "description": "State of the flow", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "response_type", + "in": "query", + "description": "Response type for the flow", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Client not found", + "content": { + "text/html": { + "schema": { + "type": "string" + } + } + } + }, + "303": { + "description": "Redirect to login URL", + "headers": { + "Location": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, + "/index.php/apps/oauth2/api/v1/token": { + "post": { + "operationId": "oauth_api-get-token", + "summary": "Get a token", + "tags": [ + "oauth_api" + ], + "security": [ + {}, + { + "bearer_auth": [] + }, + { + "basic_auth": [] + } + ], + "parameters": [ + { + "name": "grant_type", + "in": "query", + "description": "Token type that should be granted", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "code", + "in": "query", + "description": "Code of the flow", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "refresh_token", + "in": "query", + "description": "Refresh token", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "client_id", + "in": "query", + "description": "Client ID", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "client_secret", + "in": "query", + "description": "Client secret", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Token returned", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "access_token", + "token_type", + "expires_in", + "refresh_token", + "user_id" + ], + "properties": { + "access_token": { + "type": "string" + }, + "token_type": { + "type": "string" + }, + "expires_in": { + "type": "integer", + "format": "int64" + }, + "refresh_token": { + "type": "string" + }, + "user_id": { + "type": "string" + } + } + } + } + } + }, + "400": { + "description": "Getting token is not possible", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "error" + ], + "properties": { + "error": { + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "tags": [] +}
\ No newline at end of file |