dex/schema/adminschema/README.md
2016-06-21 12:09:06 -07:00

251 lines
4.8 KiB
Markdown

# Dex Admin API
The Dex Admin API.
__Version:__ v1
## Models
### Admin
```
{
email: string,
id: string,
password: string
}
```
### Client
```
{
clientName: string // OPTIONAL for normal cliens. Name of the Client to be presented to the End-User. If desired, representation of this Claim in different languages and scripts is represented as described in Section 2.1 ( Metadata Languages and Scripts ). REQUIRED for public clients,
clientURI: string // OPTIONAL. URL of the home page of the Client. The value of this field MUST point to a valid Web page. If present, the server SHOULD display this URL to the End-User in a followable fashion. If desired, representation of this Claim in different languages and scripts is represented as described in Section 2.1 ( Metadata Languages and Scripts ) .,
id: string // The client ID. If specified in a client create request, it will be used as the ID. Otherwise, the server will choose the ID.,
isAdmin: boolean,
logoURI: string // OPTIONAL. URL that references a logo for the Client application. If present, the server SHOULD display this image to the End-User during approval. The value of this field MUST point to a valid image file. If desired, representation of this Claim in different languages and scripts is represented as described in Section 2.1 ( Metadata Languages and Scripts ) .,
public: boolean // OPTIONAL. Determines if the client is public. Public clients have certain restrictions: They cannot use their credentials to obtain a client JWT. Their redirects URLs cannot be specified: they are always http://localhost:$PORT or urn:ietf:wg:oauth:2.0:oob.,
redirectURIs: [
string
],
secret: string // The client secret. If specified in a client create request, it will be used as the secret. Otherwise, the server will choose the secret. Must be a base64 URLEncoded string.,
trustedPeers: [
string
]
}
```
### ClientCreateRequest
A request to register a client with dex.
```
{
client: Client
}
```
### ClientCreateResponse
Upon successful registration, an ID and secret is assigned to the client.
```
{
client: Client
}
```
### Connector
An object which describes a federating identity strategy. For documentation see Documentation/connectors-configuration.md. Since different connectors expect different object fields the scheme is omitted here.
```
```
### ConnectorsGetResponse
A list of all connector responses.
```
{
connectors: [
Connector
]
}
```
### ConnectorsSetRequest
A request to set all the connectors in the dex database.
```
{
connectors: [
Connector
]
}
```
### State
```
{
AdminUserCreated: boolean
}
```
## Paths
### POST /admin
> __Summary__
> Create Admin
> __Description__
> Create a new admin user.
> __Parameters__
> |Name|Located in|Description|Required|Type|
|:-----|:-----|:-----|:-----|:-----|
| | body | | Yes | [Admin](#admin) |
> __Responses__
> |Code|Description|Type|
|:-----|:-----|:-----|
| 200 | | [Admin](#admin) |
| default | Unexpected error | |
### GET /admin/{id}
> __Summary__
> Get Admin
> __Description__
> Retrieve information about an admin user.
> __Parameters__
> |Name|Located in|Description|Required|Type|
|:-----|:-----|:-----|:-----|:-----|
| id | path | | Yes | string |
> __Responses__
> |Code|Description|Type|
|:-----|:-----|:-----|
| 200 | | [Admin](#admin) |
| default | Unexpected error | |
### POST /client
> __Summary__
> Create Client
> __Description__
> Register an OpenID Connect client.
> __Parameters__
> |Name|Located in|Description|Required|Type|
|:-----|:-----|:-----|:-----|:-----|
| | body | | Yes | [ClientCreateRequest](#clientcreaterequest) |
> __Responses__
> |Code|Description|Type|
|:-----|:-----|:-----|
| 200 | | [ClientCreateResponse](#clientcreateresponse) |
| default | Unexpected error | |
### GET /connectors
> __Summary__
> Get Connectors
> __Description__
> Return a list of the connectors for the dex system.
> __Responses__
> |Code|Description|Type|
|:-----|:-----|:-----|
| 200 | | [ConnectorsGetResponse](#connectorsgetresponse) |
| default | Unexpected error | |
### PUT /connectors
> __Summary__
> Set Connectors
> __Description__
> Set the list of connectors for the dex system, overwriting all previous connectors. A 200 status code indicates the action was successful.
> __Parameters__
> |Name|Located in|Description|Required|Type|
|:-----|:-----|:-----|:-----|:-----|
| | body | | Yes | [ConnectorsSetRequest](#connectorssetrequest) |
> __Responses__
> |Code|Description|Type|
|:-----|:-----|:-----|
| default | Unexpected error | |
### GET /state
> __Summary__
> Get State
> __Description__
> Get the state of the Dex DB
> __Responses__
> |Code|Description|Type|
|:-----|:-----|:-----|
| 200 | | [State](#state) |
| default | Unexpected error | |