This repository has been archived on 2022-08-17. You can view files and clone it, but cannot push or open issues or pull requests.
dex/schema/adminschema/v1.json

224 lines
6.8 KiB
JSON

{
"kind": "discovery#restDescription",
"discoveryVersion": "v1",
"id": "dex:v1",
"name": "adminschema",
"version": "v1",
"title": "Dex Admin API",
"description": "The Dex Admin API.",
"documentationLink": "http://github.com/coreos/dex",
"protocol": "rest",
"icons": {
"x16": "",
"x32": ""
},
"labels": [],
"baseUrl": "$ENDPOINT/api/v1/",
"basePath": "/api/v1/",
"rootUrl": "$ENDPOINT/",
"servicePath": "api/v1/",
"batchPath": "batch",
"parameters": {},
"auth": {},
"schemas": {
"Admin": {
"id": "Admin",
"type": "object",
"properties": {
"id": {
"type": "string"
},
"email": {
"type": "string"
},
"password": {
"type": "string"
}
}
},
"State": {
"id": "State",
"type": "object",
"properties": {
"AdminUserCreated": {
"type": "boolean"
}
}
},
"Client": {
"id": "Client",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The client ID. Ignored in client create requests."
},
"secret": {
"type": "string",
"description": "The client secret. Ignored in client create requests."
},
"isAdmin": {
"type": "boolean"
},
"redirectURIs": {
"type": "array",
"items": {
"type": "string"
},
"description": "REQUIRED. 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)."
},
"clientName": {
"type": "string",
"description": "OPTIONAL. 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 ) ."
},
"logoURI": {
"type": "string",
"description": "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 ) ."
},
"clientURI": {
"type": "string",
"description": "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 ) ."
}
}
},
"ClientCreateRequest": {
"id": "ClientCreateRequest",
"type": "object",
"description": "A request to register a client with dex.",
"properties": {
"client": {
"$ref": "Client"
}
}
},
"ClientCreateResponse": {
"id": "ClientCreateResponse",
"type": "object",
"description": "Upon successful registration, an ID and secret is assigned to the client.",
"properties": {
"client": {
"$ref": "Client"
}
}
},
"Connector": {
"id": "Connector",
"type": "any",
"description": "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."
},
"ConnectorsSetRequest": {
"id": "ConnectorsSetRequest",
"type": "object",
"description": "A request to set all the connectors in the dex database.",
"properties": {
"connectors": {
"type": "array",
"items": {
"$ref": "Connector"
}
}
}
},
"ConnectorsGetResponse": {
"id": "ConnectorsGetResponse",
"type": "object",
"description": "A list of all connector responses.",
"properties": {
"connectors": {
"type": "array",
"items": {
"$ref": "Connector"
}
}
}
}
},
"resources": {
"Admin": {
"methods": {
"Get": {
"id": "dex.admin.Admin.Get",
"description": "Retrieve information about an admin user.",
"httpMethod": "GET",
"path": "admin/{id}",
"parameters": {
"id": {
"type": "string",
"required": true,
"location": "path"
}
},
"parameterOrder": [
"id"
],
"response": {
"$ref": "Admin"
}
},
"Create": {
"id": "dex.admin.Admin.Create",
"description": "Create a new admin user.",
"httpMethod": "POST",
"path": "admin",
"request": {
"$ref": "Admin"
},
"response": {
"$ref": "Admin"
}
}
}
},
"State": {
"methods": {
"Get": {
"id": "dex.admin.State.Get",
"description": "Get the state of the Dex DB",
"httpMethod": "GET",
"path": "state",
"response": {
"$ref": "State"
}
}
}
},
"Client": {
"methods": {
"Create": {
"id": "dex.admin.Client.Create",
"description": "Register an OpenID Connect client.",
"httpMethod": "POST",
"path": "client",
"request": {
"$ref": "ClientCreateRequest"
},
"response": {
"$ref": "ClientCreateResponse"
}
}
}
},
"Connectors": {
"methods": {
"Set": {
"id": "dex.admin.Connector.Set",
"description": "Set the list of connectors for the dex system, overwriting all previous connectors. A 200 status code indicates the action was successful.",
"httpMethod": "PUT",
"path": "connectors",
"request": {
"$ref": "ConnectorsSetRequest"
}
},
"Get": {
"id": "dex.admin.Connector.Get",
"description": "Return a list of the connectors for the dex system.",
"httpMethod": "GET",
"path": "connectors",
"response": {
"$ref": "ConnectorsGetResponse"
}
}
}
}
}
}