2024-07-26 13:46:05 +02:00
|
|
|
swagger: "2.0"
|
|
|
|
info:
|
2024-09-27 09:20:59 +02:00
|
|
|
title: oc-auth
|
2024-07-26 13:46:05 +02:00
|
|
|
description: |
|
2024-09-27 09:20:59 +02:00
|
|
|
OpenCloud authentication services
|
2024-07-26 13:46:05 +02:00
|
|
|
version: 1.0.0
|
2024-09-27 09:20:59 +02:00
|
|
|
termsOfService: http://cloud.o-forge.io/
|
2024-07-26 13:46:05 +02:00
|
|
|
contact:
|
2024-09-27 09:20:59 +02:00
|
|
|
email: admin@o-cloud.io
|
2024-07-26 13:46:05 +02:00
|
|
|
license:
|
2024-10-28 14:58:11 +01:00
|
|
|
name: AGPL
|
|
|
|
url: https://www.gnu.org/licenses/agpl-3.0.html
|
2024-10-30 16:18:21 +01:00
|
|
|
basePath: /oc/
|
2024-07-26 13:46:05 +02:00
|
|
|
paths:
|
2024-10-30 12:38:25 +01:00
|
|
|
/forward:
|
2024-07-26 13:46:05 +02:00
|
|
|
get:
|
|
|
|
tags:
|
2024-10-30 12:38:25 +01:00
|
|
|
- oc-auth/controllersOAuthController
|
2024-07-26 13:46:05 +02:00
|
|
|
description: |-
|
2024-10-28 14:58:11 +01:00
|
|
|
auth forward
|
2024-07-26 13:46:05 +02:00
|
|
|
<br>
|
2024-10-28 14:58:11 +01:00
|
|
|
operationId: OAuthController.AuthForward
|
|
|
|
parameters:
|
|
|
|
- in: header
|
|
|
|
name: Authorization
|
|
|
|
description: auth token
|
|
|
|
type: string
|
|
|
|
responses:
|
|
|
|
"200":
|
|
|
|
description: '{string}'
|
2024-11-27 11:12:46 +01:00
|
|
|
/group/:
|
|
|
|
get:
|
|
|
|
tags:
|
|
|
|
- group
|
|
|
|
description: |-
|
|
|
|
find groups
|
|
|
|
<br>
|
|
|
|
operationId: GroupController.GetAll
|
|
|
|
responses:
|
|
|
|
"200":
|
|
|
|
description: '{group} string'
|
|
|
|
/group/{id}:
|
|
|
|
get:
|
|
|
|
tags:
|
|
|
|
- group
|
|
|
|
description: |-
|
|
|
|
find group by id
|
|
|
|
<br>
|
|
|
|
operationId: GroupController.Get
|
|
|
|
parameters:
|
|
|
|
- in: path
|
|
|
|
name: id
|
|
|
|
description: the id you want to get
|
|
|
|
required: true
|
|
|
|
type: string
|
|
|
|
responses:
|
|
|
|
"200":
|
|
|
|
description: '{group} string'
|
|
|
|
post:
|
|
|
|
tags:
|
|
|
|
- group
|
|
|
|
description: |-
|
|
|
|
create group
|
|
|
|
<br>
|
|
|
|
operationId: GroupController.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:
|
|
|
|
- group
|
|
|
|
description: |-
|
|
|
|
delete the group
|
|
|
|
<br>
|
|
|
|
operationId: GroupController.Delete
|
|
|
|
parameters:
|
|
|
|
- in: path
|
|
|
|
name: id
|
|
|
|
description: The id you want to delete
|
|
|
|
required: true
|
|
|
|
type: string
|
|
|
|
responses:
|
|
|
|
"200":
|
|
|
|
description: '{string} delete success!'
|
|
|
|
/group/{user_id}/{group_id}:
|
|
|
|
post:
|
|
|
|
tags:
|
|
|
|
- group
|
|
|
|
description: |-
|
|
|
|
bind the group to user
|
|
|
|
<br>
|
|
|
|
operationId: GroupController.Bind
|
|
|
|
parameters:
|
|
|
|
- in: path
|
|
|
|
name: user_id
|
|
|
|
description: The user_id you want to bind
|
|
|
|
required: true
|
|
|
|
type: string
|
|
|
|
- in: path
|
|
|
|
name: group_id
|
|
|
|
description: The group_id you want to bind
|
|
|
|
required: true
|
|
|
|
type: string
|
|
|
|
responses:
|
|
|
|
"200":
|
|
|
|
description: '{string} bind success!'
|
|
|
|
delete:
|
|
|
|
tags:
|
|
|
|
- group
|
|
|
|
description: |-
|
|
|
|
unbind the group to user
|
|
|
|
<br>
|
|
|
|
operationId: GroupController.UnBind
|
|
|
|
parameters:
|
|
|
|
- in: path
|
|
|
|
name: group_id
|
|
|
|
description: The group_id you want to unbind
|
|
|
|
required: true
|
|
|
|
type: string
|
|
|
|
- in: path
|
|
|
|
name: group_id
|
|
|
|
description: The user_id you want to unbind
|
|
|
|
required: true
|
|
|
|
type: string
|
|
|
|
responses:
|
|
|
|
"200":
|
|
|
|
description: '{string} bind success!'
|
|
|
|
/group/clear:
|
|
|
|
delete:
|
|
|
|
tags:
|
|
|
|
- group
|
|
|
|
description: |-
|
|
|
|
clear the group
|
|
|
|
<br>
|
|
|
|
operationId: GroupController.Clear
|
|
|
|
responses:
|
|
|
|
"200":
|
|
|
|
description: '{string} delete success!'
|
|
|
|
/group/user/{id}:
|
|
|
|
get:
|
|
|
|
tags:
|
|
|
|
- group
|
|
|
|
description: |-
|
|
|
|
find group by user id
|
|
|
|
<br>
|
|
|
|
operationId: GroupController.GetByUser
|
|
|
|
parameters:
|
|
|
|
- in: path
|
|
|
|
name: id
|
|
|
|
description: the id you want to get
|
|
|
|
required: true
|
|
|
|
type: string
|
|
|
|
responses:
|
|
|
|
"200":
|
|
|
|
description: '{auth} string'
|
2024-10-30 12:38:25 +01:00
|
|
|
/introspect:
|
2024-10-28 14:58:11 +01:00
|
|
|
get:
|
|
|
|
tags:
|
2024-10-30 12:38:25 +01:00
|
|
|
- oc-auth/controllersOAuthController
|
2024-10-28 14:58:11 +01:00
|
|
|
description: |-
|
|
|
|
introspect token
|
|
|
|
<br>
|
|
|
|
operationId: OAuthController.Introspection
|
|
|
|
parameters:
|
|
|
|
- in: header
|
|
|
|
name: Authorization
|
|
|
|
description: auth token
|
|
|
|
type: string
|
|
|
|
responses:
|
|
|
|
"200":
|
|
|
|
description: '{string}'
|
2024-10-30 12:38:25 +01:00
|
|
|
/ldap/login:
|
2024-10-28 14:58:11 +01:00
|
|
|
post:
|
|
|
|
tags:
|
2024-10-30 12:38:25 +01:00
|
|
|
- oc-auth/controllersOAuthController
|
2024-10-28 14:58:11 +01:00
|
|
|
description: |-
|
|
|
|
authenticate user
|
|
|
|
<br>
|
|
|
|
operationId: OAuthController.Login
|
|
|
|
parameters:
|
|
|
|
- in: body
|
|
|
|
name: body
|
|
|
|
description: The workflow content
|
|
|
|
required: true
|
|
|
|
schema:
|
|
|
|
$ref: '#/definitions/models.workflow'
|
|
|
|
responses:
|
|
|
|
"200":
|
|
|
|
description: '{string}'
|
2024-10-30 12:38:25 +01:00
|
|
|
/ldap/logout:
|
2024-10-28 14:58:11 +01:00
|
|
|
delete:
|
|
|
|
tags:
|
2024-10-30 12:38:25 +01:00
|
|
|
- oc-auth/controllersOAuthController
|
2024-10-28 14:58:11 +01:00
|
|
|
description: |-
|
|
|
|
unauthenticate user
|
|
|
|
<br>
|
|
|
|
operationId: OAuthController.Logout
|
|
|
|
parameters:
|
|
|
|
- in: header
|
|
|
|
name: Authorization
|
|
|
|
description: auth token
|
|
|
|
type: string
|
|
|
|
responses:
|
|
|
|
"200":
|
|
|
|
description: '{string}'
|
|
|
|
/permission/:
|
|
|
|
get:
|
|
|
|
tags:
|
|
|
|
- permission
|
|
|
|
description: |-
|
|
|
|
find permissions
|
|
|
|
<br>
|
|
|
|
operationId: PermissionController.GetAll
|
|
|
|
responses:
|
|
|
|
"200":
|
|
|
|
description: '{permission} string'
|
2024-10-30 16:18:21 +01:00
|
|
|
/permission/{id}/{relation}:
|
2024-10-28 14:58:11 +01:00
|
|
|
get:
|
|
|
|
tags:
|
|
|
|
- permission
|
|
|
|
description: |-
|
|
|
|
find auth by permission
|
|
|
|
<br>
|
|
|
|
operationId: PermissionController.Get
|
2024-07-26 13:46:05 +02:00
|
|
|
parameters:
|
|
|
|
- in: path
|
2024-10-28 14:58:11 +01:00
|
|
|
name: id
|
|
|
|
description: the permission you want to get
|
2024-07-26 13:46:05 +02:00
|
|
|
required: true
|
|
|
|
type: string
|
|
|
|
responses:
|
|
|
|
"200":
|
|
|
|
description: '{auth} models.auth'
|
2024-10-28 14:58:11 +01:00
|
|
|
/permission/{permission_id}/{role_id}/{relation}:
|
|
|
|
post:
|
|
|
|
tags:
|
|
|
|
- permission
|
|
|
|
description: |-
|
|
|
|
bind the permission to role
|
|
|
|
<br>
|
|
|
|
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 & 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!'
|
2024-07-26 13:46:05 +02:00
|
|
|
delete:
|
|
|
|
tags:
|
2024-10-28 14:58:11 +01:00
|
|
|
- permission
|
2024-07-26 13:46:05 +02:00
|
|
|
description: |-
|
2024-10-28 14:58:11 +01:00
|
|
|
unbind the permission to role
|
2024-07-26 13:46:05 +02:00
|
|
|
<br>
|
2024-10-28 14:58:11 +01:00
|
|
|
operationId: PermissionController.UnBind
|
2024-07-26 13:46:05 +02:00
|
|
|
parameters:
|
|
|
|
- in: path
|
2024-10-28 14:58:11 +01:00
|
|
|
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 & permission
|
|
|
|
required: true
|
|
|
|
type: string
|
|
|
|
- in: path
|
|
|
|
name: permission_id
|
|
|
|
description: The permission_id you want to unbind
|
2024-07-26 13:46:05 +02:00
|
|
|
required: true
|
|
|
|
type: string
|
2024-10-28 14:58:11 +01:00
|
|
|
responses:
|
|
|
|
"200":
|
|
|
|
description: '{string} bind success!'
|
|
|
|
/permission/clear:
|
|
|
|
delete:
|
|
|
|
tags:
|
|
|
|
- permission
|
|
|
|
description: |-
|
|
|
|
clear the permission
|
|
|
|
<br>
|
|
|
|
operationId: PermissionController.Clear
|
2024-07-26 13:46:05 +02:00
|
|
|
responses:
|
|
|
|
"200":
|
|
|
|
description: '{string} delete success!'
|
2024-10-28 14:58:11 +01:00
|
|
|
/permission/role/{id}:
|
2024-09-27 09:20:59 +02:00
|
|
|
get:
|
|
|
|
tags:
|
2024-10-28 14:58:11 +01:00
|
|
|
- permission
|
2024-09-27 09:20:59 +02:00
|
|
|
description: |-
|
2024-10-28 14:58:11 +01:00
|
|
|
find permission by role id
|
2024-09-27 09:20:59 +02:00
|
|
|
<br>
|
2024-10-28 14:58:11 +01:00
|
|
|
operationId: PermissionController.GetByRole
|
2024-09-27 09:20:59 +02:00
|
|
|
parameters:
|
|
|
|
- in: path
|
2024-10-28 14:58:11 +01:00
|
|
|
name: id
|
|
|
|
description: the id you want to get
|
2024-09-27 09:20:59 +02:00
|
|
|
required: true
|
|
|
|
type: string
|
|
|
|
responses:
|
|
|
|
"200":
|
2024-10-28 14:58:11 +01:00
|
|
|
description: '{auth} string'
|
|
|
|
/permission/user/{id}:
|
2024-07-26 13:46:05 +02:00
|
|
|
get:
|
|
|
|
tags:
|
2024-10-28 14:58:11 +01:00
|
|
|
- permission
|
2024-07-26 13:46:05 +02:00
|
|
|
description: |-
|
2024-10-28 14:58:11 +01:00
|
|
|
find permission by user id
|
2024-07-26 13:46:05 +02:00
|
|
|
<br>
|
2024-10-28 14:58:11 +01:00
|
|
|
operationId: PermissionController.GetByUser
|
2024-07-26 13:46:05 +02:00
|
|
|
parameters:
|
|
|
|
- in: path
|
2024-10-28 14:58:11 +01:00
|
|
|
name: id
|
|
|
|
description: the id you want to get
|
2024-07-26 13:46:05 +02:00
|
|
|
required: true
|
|
|
|
type: string
|
|
|
|
responses:
|
|
|
|
"200":
|
2024-10-28 14:58:11 +01:00
|
|
|
description: '{auth} string'
|
2024-10-30 12:38:25 +01:00
|
|
|
/refresh:
|
|
|
|
post:
|
|
|
|
tags:
|
|
|
|
- oc-auth/controllersOAuthController
|
|
|
|
description: |-
|
|
|
|
introspect token
|
|
|
|
<br>
|
|
|
|
operationId: OAuthController.Introspection
|
|
|
|
parameters:
|
|
|
|
- in: body
|
|
|
|
name: body
|
|
|
|
description: The token info
|
|
|
|
required: true
|
|
|
|
schema:
|
|
|
|
$ref: '#/definitions/models.Token'
|
|
|
|
responses:
|
|
|
|
"200":
|
|
|
|
description: '{string}'
|
2024-10-28 14:58:11 +01:00
|
|
|
/role/:
|
|
|
|
get:
|
|
|
|
tags:
|
|
|
|
- role
|
|
|
|
description: |-
|
|
|
|
find roles
|
|
|
|
<br>
|
|
|
|
operationId: RoleController.GetAll
|
|
|
|
responses:
|
|
|
|
"200":
|
|
|
|
description: '{role} string'
|
|
|
|
/role/{id}:
|
|
|
|
get:
|
|
|
|
tags:
|
|
|
|
- role
|
|
|
|
description: |-
|
|
|
|
find role by id
|
|
|
|
<br>
|
|
|
|
operationId: RoleController.Get
|
|
|
|
parameters:
|
|
|
|
- in: path
|
|
|
|
name: id
|
|
|
|
description: the id you want to get
|
|
|
|
required: true
|
|
|
|
type: string
|
|
|
|
responses:
|
|
|
|
"200":
|
|
|
|
description: '{role} string'
|
2024-09-27 09:20:59 +02:00
|
|
|
post:
|
|
|
|
tags:
|
2024-10-28 14:58:11 +01:00
|
|
|
- role
|
2024-09-27 09:20:59 +02:00
|
|
|
description: |-
|
2024-10-28 14:58:11 +01:00
|
|
|
create role
|
2024-09-27 09:20:59 +02:00
|
|
|
<br>
|
2024-10-28 14:58:11 +01:00
|
|
|
operationId: RoleController.Create
|
2024-09-27 09:20:59 +02:00
|
|
|
parameters:
|
2024-10-28 14:58:11 +01:00
|
|
|
- in: path
|
|
|
|
name: id
|
|
|
|
description: the id you want to get
|
2024-09-27 09:20:59 +02:00
|
|
|
required: true
|
2024-10-28 14:58:11 +01:00
|
|
|
type: string
|
|
|
|
responses:
|
|
|
|
"200":
|
|
|
|
description: '{auth} create success!'
|
|
|
|
delete:
|
|
|
|
tags:
|
|
|
|
- role
|
|
|
|
description: |-
|
|
|
|
delete the role
|
|
|
|
<br>
|
|
|
|
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
|
|
|
|
<br>
|
|
|
|
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
|
2024-09-27 09:20:59 +02:00
|
|
|
responses:
|
|
|
|
"200":
|
2024-10-28 14:58:11 +01:00
|
|
|
description: '{string} bind success!'
|
|
|
|
delete:
|
|
|
|
tags:
|
|
|
|
- role
|
|
|
|
description: |-
|
|
|
|
unbind the role to user
|
|
|
|
<br>
|
|
|
|
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!'
|
|
|
|
/role/clear:
|
|
|
|
delete:
|
|
|
|
tags:
|
|
|
|
- role
|
|
|
|
description: |-
|
|
|
|
clear the role
|
|
|
|
<br>
|
|
|
|
operationId: RoleController.Clear
|
|
|
|
responses:
|
|
|
|
"200":
|
|
|
|
description: '{string} delete success!'
|
|
|
|
/role/user/{id}:
|
|
|
|
get:
|
|
|
|
tags:
|
|
|
|
- role
|
|
|
|
description: |-
|
|
|
|
find role by user id
|
|
|
|
<br>
|
|
|
|
operationId: RoleController.GetByUser
|
|
|
|
parameters:
|
|
|
|
- in: path
|
|
|
|
name: id
|
|
|
|
description: the id you want to get
|
|
|
|
required: true
|
|
|
|
type: string
|
|
|
|
responses:
|
|
|
|
"200":
|
|
|
|
description: '{auth} string'
|
2024-09-27 09:20:59 +02:00
|
|
|
/version/:
|
|
|
|
get:
|
|
|
|
tags:
|
|
|
|
- version
|
|
|
|
description: |-
|
|
|
|
get version
|
|
|
|
<br>
|
|
|
|
operationId: VersionController.GetAll
|
|
|
|
responses:
|
|
|
|
"200":
|
|
|
|
description: ""
|
2024-10-28 14:58:11 +01:00
|
|
|
/version/discovery:
|
|
|
|
get:
|
|
|
|
tags:
|
|
|
|
- version
|
|
|
|
description: |-
|
|
|
|
get version
|
|
|
|
<br>
|
|
|
|
operationId: VersionController.Get
|
|
|
|
responses:
|
|
|
|
"200":
|
|
|
|
description: ""
|
2024-07-26 13:46:05 +02:00
|
|
|
definitions:
|
2024-10-28 14:58:11 +01:00
|
|
|
models.Token:
|
|
|
|
title: Token
|
2024-09-27 09:20:59 +02:00
|
|
|
type: object
|
2024-10-28 14:58:11 +01:00
|
|
|
models.workflow:
|
|
|
|
title: workflow
|
2024-07-26 13:46:05 +02:00
|
|
|
type: object
|
|
|
|
tags:
|
2024-10-30 12:38:25 +01:00
|
|
|
- name: oc-auth/controllersOAuthController
|
2024-07-26 13:46:05 +02:00
|
|
|
description: |
|
|
|
|
Operations about auth
|
2024-11-27 11:12:46 +01:00
|
|
|
- name: group
|
|
|
|
description: |
|
|
|
|
Operations about auth
|
2024-10-28 14:58:11 +01:00
|
|
|
- name: role
|
|
|
|
description: |
|
|
|
|
Operations about auth
|
|
|
|
- name: permission
|
2024-09-27 09:20:59 +02:00
|
|
|
description: |
|
|
|
|
Operations about auth
|
2024-07-26 13:46:05 +02:00
|
|
|
- name: version
|
|
|
|
description: |
|
|
|
|
VersionController operations for Version
|