mirror of
https://github.com/nextcloud/server.git
synced 2025-01-31 06:43:12 +00:00
98c8a465b0
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
226 lines
No EOL
8 KiB
JSON
226 lines
No EOL
8 KiB
JSON
{
|
|
"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": []
|
|
} |