{ "swagger": "2.0", "info": { "title": "oc-auth", "description": "OpenCloud authentication services\n", "version": "1.0.0", "termsOfService": "http://cloud.o-forge.io/", "contact": { "email": "admin@o-cloud.io" }, "license": { "name": "AGPL", "url": "https://www.gnu.org/licenses/agpl-3.0.html" } }, "basePath": "/oc", "paths": { "/auth/claims": { "post": { "tags": [ "auth" ], "description": "enrich token with claims\n\u003cbr\u003e", "operationId": "OAuthController.Claims", "parameters": [ { "in": "body", "name": "body", "description": "The token info", "required": true, "schema": { "$ref": "#/definitions/models.Token" } } ], "responses": { "200": { "description": "{string}" } } } }, "/auth/forward": { "get": { "tags": [ "auth" ], "description": "auth forward\n\u003cbr\u003e", "operationId": "OAuthController.AuthForward", "parameters": [ { "in": "header", "name": "Authorization", "description": "auth token", "type": "string" }, { "in": "body", "name": "body", "description": "The workflow content", "required": true, "schema": { "$ref": "#/definitions/models.workflow" } } ], "responses": { "200": { "description": "{string}" } } } }, "/auth/introspect": { "get": { "tags": [ "auth" ], "description": "introspect token\n\u003cbr\u003e", "operationId": "OAuthController.Introspection", "parameters": [ { "in": "header", "name": "Authorization", "description": "auth token", "type": "string" } ], "responses": { "200": { "description": "{string}" } } } }, "/auth/ldap/login": { "post": { "tags": [ "auth" ], "description": "authenticate user\n\u003cbr\u003e", "operationId": "OAuthController.Login", "parameters": [ { "in": "body", "name": "body", "description": "The workflow content", "required": true, "schema": { "$ref": "#/definitions/models.workflow" } } ], "responses": { "200": { "description": "{string}" } } } }, "/auth/ldap/logout": { "delete": { "tags": [ "auth" ], "description": "unauthenticate user\n\u003cbr\u003e", "operationId": "OAuthController.Logout", "parameters": [ { "in": "header", "name": "Authorization", "description": "auth token", "type": "string" } ], "responses": { "200": { "description": "{string}" } } } }, "/auth/refresh": { "post": { "tags": [ "auth" ], "description": "introspect token\n\u003cbr\u003e", "operationId": "OAuthController.Introspection", "parameters": [ { "in": "body", "name": "body", "description": "The token info", "required": true, "schema": { "$ref": "#/definitions/models.Token" } } ], "responses": { "200": { "description": "{string}" } } } }, "/permission/": { "get": { "tags": [ "permission" ], "description": "find permissions\n\u003cbr\u003e", "operationId": "PermissionController.GetAll", "responses": { "200": { "description": "{permission} string" } } } }, "/permission/clear": { "delete": { "tags": [ "permission" ], "description": "clear the permission\n\u003cbr\u003e", "operationId": "PermissionController.Clear", "responses": { "200": { "description": "{string} delete success!" } } } }, "/permission/role/{id}": { "get": { "tags": [ "permission" ], "description": "find permission by role id\n\u003cbr\u003e", "operationId": "PermissionController.GetByRole", "parameters": [ { "in": "path", "name": "id", "description": "the id you want to get", "required": true, "type": "string" } ], "responses": { "200": { "description": "{auth} string" } } } }, "/permission/user/{id}": { "get": { "tags": [ "permission" ], "description": "find permission by user id\n\u003cbr\u003e", "operationId": "PermissionController.GetByUser", "parameters": [ { "in": "path", "name": "id", "description": "the id you want to get", "required": true, "type": "string" } ], "responses": { "200": { "description": "{auth} string" } } } }, "/permission/{id}/{relation[get]}": { "get": { "tags": [ "permission" ], "description": "find auth by permission\n\u003cbr\u003e", "operationId": "PermissionController.Get", "parameters": [ { "in": "path", "name": "id", "description": "the permission you want to get", "required": true, "type": "string" } ], "responses": { "200": { "description": "{auth} models.auth" } } } }, "/permission/{permission_id}/{role_id}/{relation}": { "post": { "tags": [ "permission" ], "description": "bind the permission to role\n\u003cbr\u003e", "operationId": "PermissionController.Bind", "parameters": [ { "in": "path", "name": "role_id", "description": "The role_id you want to bind", "required": true, "type": "string" }, { "in": "path", "name": "method", "description": "The method you want to relate role \u0026 permission", "required": true, "type": "string" }, { "in": "path", "name": "permission_id", "description": "The permission_id you want to bind", "required": true, "type": "string" } ], "responses": { "200": { "description": "{string} bind success!" } } }, "delete": { "tags": [ "permission" ], "description": "unbind the permission to role\n\u003cbr\u003e", "operationId": "PermissionController.UnBind", "parameters": [ { "in": "path", "name": "role_id", "description": "The role_id you want to unbind", "required": true, "type": "string" }, { "in": "path", "name": "relation", "description": "The method you want to unrelate role \u0026 permission", "required": true, "type": "string" }, { "in": "path", "name": "permission_id", "description": "The permission_id you want to unbind", "required": true, "type": "string" } ], "responses": { "200": { "description": "{string} bind success!" } } } }, "/role/": { "get": { "tags": [ "role" ], "description": "find roles\n\u003cbr\u003e", "operationId": "RoleController.GetAll", "responses": { "200": { "description": "{role} string" } } } }, "/role/clear": { "delete": { "tags": [ "role" ], "description": "clear the role\n\u003cbr\u003e", "operationId": "RoleController.Clear", "responses": { "200": { "description": "{string} delete success!" } } } }, "/role/user/{id}": { "get": { "tags": [ "role" ], "description": "find role by user id\n\u003cbr\u003e", "operationId": "RoleController.GetByUser", "parameters": [ { "in": "path", "name": "id", "description": "the id you want to get", "required": true, "type": "string" } ], "responses": { "200": { "description": "{auth} string" } } } }, "/role/{id}": { "get": { "tags": [ "role" ], "description": "find role by id\n\u003cbr\u003e", "operationId": "RoleController.Get", "parameters": [ { "in": "path", "name": "id", "description": "the id you want to get", "required": true, "type": "string" } ], "responses": { "200": { "description": "{role} string" } } }, "post": { "tags": [ "role" ], "description": "create role\n\u003cbr\u003e", "operationId": "RoleController.Create", "parameters": [ { "in": "path", "name": "id", "description": "the id you want to get", "required": true, "type": "string" } ], "responses": { "200": { "description": "{auth} create success!" } } }, "delete": { "tags": [ "role" ], "description": "delete the role\n\u003cbr\u003e", "operationId": "RoleController.Delete", "parameters": [ { "in": "path", "name": "id", "description": "The id you want to delete", "required": true, "type": "string" } ], "responses": { "200": { "description": "{string} delete success!" } } } }, "/role/{user_id}/{role_id}": { "post": { "tags": [ "role" ], "description": "bind the role to user\n\u003cbr\u003e", "operationId": "RoleController.Bind", "parameters": [ { "in": "path", "name": "user_id", "description": "The user_id you want to bind", "required": true, "type": "string" }, { "in": "path", "name": "role_id", "description": "The role_id you want to bind", "required": true, "type": "string" } ], "responses": { "200": { "description": "{string} bind success!" } } }, "delete": { "tags": [ "role" ], "description": "unbind the role to user\n\u003cbr\u003e", "operationId": "RoleController.UnBind", "parameters": [ { "in": "path", "name": "role_id", "description": "The role_id you want to unbind", "required": true, "type": "string" }, { "in": "path", "name": "user_id", "description": "The user_id you want to unbind", "required": true, "type": "string" } ], "responses": { "200": { "description": "{string} bind success!" } } } }, "/version/": { "get": { "tags": [ "version" ], "description": "get version\n\u003cbr\u003e", "operationId": "VersionController.GetAll", "responses": { "200": { "description": "" } } } }, "/version/discovery": { "get": { "tags": [ "version" ], "description": "get version\n\u003cbr\u003e", "operationId": "VersionController.Get", "responses": { "200": { "description": "" } } } } }, "definitions": { "models.Token": { "title": "Token", "type": "object" }, "models.workflow": { "title": "workflow", "type": "object" } }, "tags": [ { "name": "auth", "description": "Operations about auth\n" }, { "name": "role", "description": "Operations about auth\n" }, { "name": "permission", "description": "Operations about auth\n" }, { "name": "version", "description": "VersionController operations for Version\n" } ] }