{ "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", "schema": { "type": "string", "nullable": true } }, { "name": "refresh_token", "in": "query", "description": "Refresh token", "schema": { "type": "string", "nullable": true } }, { "name": "client_id", "in": "query", "description": "Client ID", "schema": { "type": "string", "nullable": true } }, { "name": "client_secret", "in": "query", "description": "Client secret", "schema": { "type": "string", "nullable": true } } ], "responses": { "500": { "description": "", "content": { "text/plain": { "schema": { "type": "string" } } } }, "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": [] }