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

4.8 KiB

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

Responses

Code Description Type
200 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
default Unexpected error

POST /client

Summary

Create Client

Description

Register an OpenID Connect client.

Parameters

Name Located in Description Required Type
body Yes ClientCreateRequest

Responses

Code Description Type
200 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
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

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
default Unexpected error