README

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
Expand ▾ Collapse ▴

Documentation

Overview

    Package adminschema provides access to the Dex Admin API.

    See http://github.com/coreos/dex

    Usage example:

    import "google.golang.org/api/adminschema/v1"
    ...
    adminschemaService, err := adminschema.New(oauthHttpClient)
    

    Index

    Constants

    View Source
    const DiscoveryJSON = `` /* 7819-byte string literal not displayed */
    

      This file is automatically generated by schema/generator

      **** DO NOT EDIT ****

      Variables

      View Source
      var (
      	ErrorNoRedirectURI      = errors.New("No Redirect URIs")
      	ErrorInvalidRedirectURI = errors.New("Invalid Redirect URI")
      	ErrorInvalidLogoURI     = errors.New("Invalid Logo URI")
      	ErrorInvalidClientURI   = errors.New("Invalid Client URI")
      )

      Functions

      func MapSchemaClientToClient

      func MapSchemaClientToClient(sc Client) (client.Client, error)

      Types

      type Admin

      type Admin struct {
      	Email string `json:"email,omitempty"`
      
      	Id string `json:"id,omitempty"`
      
      	Password string `json:"password,omitempty"`
      }

      type AdminCreateCall

      type AdminCreateCall struct {
      	// contains filtered or unexported fields
      }

      func (*AdminCreateCall) Do

      func (c *AdminCreateCall) Do() (*Admin, error)

      func (*AdminCreateCall) Fields

        Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.

        type AdminGetCall

        type AdminGetCall struct {
        	// contains filtered or unexported fields
        }

        func (*AdminGetCall) Do

        func (c *AdminGetCall) Do() (*Admin, error)

        func (*AdminGetCall) Fields

        func (c *AdminGetCall) Fields(s ...googleapi.Field) *AdminGetCall

          Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.

          type AdminService

          type AdminService struct {
          	// contains filtered or unexported fields
          }

          func NewAdminService

          func NewAdminService(s *Service) *AdminService

          func (*AdminService) Create

          func (r *AdminService) Create(admin *Admin) *AdminCreateCall

            Create: Create a new admin user.

            func (*AdminService) Get

            func (r *AdminService) Get(id string) *AdminGetCall

              Get: Retrieve information about an admin user.

              type Client

              type Client struct {
              	// ClientName: 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
              	ClientName string `json:"clientName,omitempty"`
              
              	// ClientURI: 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 ) .
              	ClientURI string `json:"clientURI,omitempty"`
              
              	// Id: The client ID. If specified in a client create request, it will
              	// be used as the ID. Otherwise, the server will choose the ID.
              	Id string `json:"id,omitempty"`
              
              	IsAdmin bool `json:"isAdmin,omitempty"`
              
              	// LogoURI: 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 ) .
              	LogoURI string `json:"logoURI,omitempty"`
              
              	// Public: 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.
              	Public bool `json:"public,omitempty"`
              
              	// RedirectURIs: REQUIRED for normal clients. Array of Redirection URI
              	// values used by the Client. One of these registered Redirection URI
              	// values MUST exactly match the redirect_uri parameter value used in
              	// each Authorization Request, with the matching performed as described
              	// in Section 6.2.1 of [RFC3986] ( Berners-Lee, T., Fielding, R., and L.
              	// Masinter, “Uniform Resource Identifier (URI): Generic Syntax,”
              	// January 2005. ) (Simple String Comparison). DISALLOWED for public
              	// clients.
              	RedirectURIs []string `json:"redirectURIs,omitempty"`
              
              	// Secret: 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.
              	Secret string `json:"secret,omitempty"`
              
              	// TrustedPeers: Array of ClientIDs of clients that are allowed to mint
              	// ID tokens for the client being created.
              	TrustedPeers []string `json:"trustedPeers,omitempty"`
              }

              func MapClientToSchemaClient

              func MapClientToSchemaClient(c client.Client) Client

              type ClientCreateCall

              type ClientCreateCall struct {
              	// contains filtered or unexported fields
              }

              func (*ClientCreateCall) Do

              func (*ClientCreateCall) Fields

                Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.

                type ClientCreateRequest

                type ClientCreateRequest struct {
                	Client *Client `json:"client,omitempty"`
                }

                type ClientCreateResponse

                type ClientCreateResponse struct {
                	Client *Client `json:"client,omitempty"`
                }

                type ClientService

                type ClientService struct {
                	// contains filtered or unexported fields
                }

                func NewClientService

                func NewClientService(s *Service) *ClientService

                func (*ClientService) Create

                func (r *ClientService) Create(clientcreaterequest *ClientCreateRequest) *ClientCreateCall

                  Create: Register an OpenID Connect client.

                  type Connector

                  type Connector interface{}

                  type ConnectorsGetCall

                  type ConnectorsGetCall struct {
                  	// contains filtered or unexported fields
                  }

                  func (*ConnectorsGetCall) Do

                  func (*ConnectorsGetCall) Fields

                    Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.

                    type ConnectorsGetResponse

                    type ConnectorsGetResponse struct {
                    	Connectors []interface{} `json:"connectors,omitempty"`
                    }

                    type ConnectorsService

                    type ConnectorsService struct {
                    	// contains filtered or unexported fields
                    }

                    func NewConnectorsService

                    func NewConnectorsService(s *Service) *ConnectorsService

                    func (*ConnectorsService) Get

                      Get: Return a list of the connectors for the dex system.

                      func (*ConnectorsService) Set

                      func (r *ConnectorsService) Set(connectorssetrequest *ConnectorsSetRequest) *ConnectorsSetCall

                        Set: Set the list of connectors for the dex system, overwriting all previous connectors. A 200 status code indicates the action was successful.

                        type ConnectorsSetCall

                        type ConnectorsSetCall struct {
                        	// contains filtered or unexported fields
                        }

                        func (*ConnectorsSetCall) Do

                        func (c *ConnectorsSetCall) Do() error

                        func (*ConnectorsSetCall) Fields

                          Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.

                          type ConnectorsSetRequest

                          type ConnectorsSetRequest struct {
                          	Connectors []interface{} `json:"connectors,omitempty"`
                          }

                          type Service

                          type Service struct {
                          	BasePath string // API endpoint base URL
                          
                          	Admin *AdminService
                          
                          	Client *ClientService
                          
                          	Connectors *ConnectorsService
                          
                          	State *StateService
                          	// contains filtered or unexported fields
                          }

                          func New

                          func New(client *http.Client) (*Service, error)

                          func NewWithBasePath

                          func NewWithBasePath(client *http.Client, basePath string) (*Service, error)

                          type State

                          type State struct {
                          	AdminUserCreated bool `json:"AdminUserCreated,omitempty"`
                          }

                          type StateGetCall

                          type StateGetCall struct {
                          	// contains filtered or unexported fields
                          }

                          func (*StateGetCall) Do

                          func (c *StateGetCall) Do() (*State, error)

                          func (*StateGetCall) Fields

                          func (c *StateGetCall) Fields(s ...googleapi.Field) *StateGetCall

                            Fields allows partial responses to be retrieved. See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more information.

                            type StateService

                            type StateService struct {
                            	// contains filtered or unexported fields
                            }

                            func NewStateService

                            func NewStateService(s *Service) *StateService

                            func (*StateService) Get

                            func (r *StateService) Get() *StateGetCall

                              Get: Get the state of the Dex DB