Commit 0445da2d authored by Eric Chiang's avatar Eric Chiang

schema/adminschema: regenerate admin schema

parent 15481805
...@@ -20,6 +20,35 @@ __Version:__ v1 ...@@ -20,6 +20,35 @@ __Version:__ v1
} }
``` ```
### ClientCreateRequest
A request to register a client with dex.
```
{
client: {
client_name: string // 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 ) .,
client_uri: 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 ) .,
logo_uri: 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 ) .,
redirect_uris: [
string
]
},
isAdmin: boolean
}
```
### ClientRegistrationResponse
Upon successful registration, an ID and secret is assigned to the client.
```
{
client_id: string,
client_secret: string
}
```
### State ### State
...@@ -86,6 +115,32 @@ __Version:__ v1 ...@@ -86,6 +115,32 @@ __Version:__ v1
| default | Unexpected error | | | 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 | | [ClientRegistrationResponse](#clientregistrationresponse) |
| default | Unexpected error | |
### GET /state ### GET /state
> __Summary__ > __Summary__
......
...@@ -46,6 +46,7 @@ func New(client *http.Client) (*Service, error) { ...@@ -46,6 +46,7 @@ func New(client *http.Client) (*Service, error) {
} }
s := &Service{client: client, BasePath: basePath} s := &Service{client: client, BasePath: basePath}
s.Admin = NewAdminService(s) s.Admin = NewAdminService(s)
s.Client = NewClientService(s)
s.State = NewStateService(s) s.State = NewStateService(s)
return s, nil return s, nil
} }
...@@ -56,6 +57,8 @@ type Service struct { ...@@ -56,6 +57,8 @@ type Service struct {
Admin *AdminService Admin *AdminService
Client *ClientService
State *StateService State *StateService
} }
...@@ -68,6 +71,15 @@ type AdminService struct { ...@@ -68,6 +71,15 @@ type AdminService struct {
s *Service s *Service
} }
func NewClientService(s *Service) *ClientService {
rs := &ClientService{s: s}
return rs
}
type ClientService struct {
s *Service
}
func NewStateService(s *Service) *StateService { func NewStateService(s *Service) *StateService {
rs := &StateService{s: s} rs := &StateService{s: s}
return rs return rs
...@@ -85,6 +97,51 @@ type Admin struct { ...@@ -85,6 +97,51 @@ type Admin struct {
Password string `json:"password,omitempty"` Password string `json:"password,omitempty"`
} }
type ClientCreateRequest struct {
Client *ClientCreateRequestClient `json:"client,omitempty"`
IsAdmin bool `json:"isAdmin,omitempty"`
}
type ClientCreateRequestClient struct {
// Client_name: 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 ) .
Client_name string `json:"client_name,omitempty"`
// Client_uri: 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 ) .
Client_uri string `json:"client_uri,omitempty"`
// Logo_uri: 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 ) .
Logo_uri string `json:"logo_uri,omitempty"`
// Redirect_uris: 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).
Redirect_uris []string `json:"redirect_uris,omitempty"`
}
type ClientRegistrationResponse struct {
Client_id string `json:"client_id,omitempty"`
Client_secret string `json:"client_secret,omitempty"`
}
type State struct { type State struct {
AdminUserCreated bool `json:"AdminUserCreated,omitempty"` AdminUserCreated bool `json:"AdminUserCreated,omitempty"`
} }
...@@ -230,6 +287,75 @@ func (c *AdminGetCall) Do() (*Admin, error) { ...@@ -230,6 +287,75 @@ func (c *AdminGetCall) Do() (*Admin, error) {
} }
// method id "dex.admin.Client.Create":
type ClientCreateCall struct {
s *Service
clientcreaterequest *ClientCreateRequest
opt_ map[string]interface{}
}
// Create: Register an OpenID Connect client.
func (r *ClientService) Create(clientcreaterequest *ClientCreateRequest) *ClientCreateCall {
c := &ClientCreateCall{s: r.s, opt_: make(map[string]interface{})}
c.clientcreaterequest = clientcreaterequest
return c
}
// Fields allows partial responses to be retrieved.
// See https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *ClientCreateCall) Fields(s ...googleapi.Field) *ClientCreateCall {
c.opt_["fields"] = googleapi.CombineFields(s)
return c
}
func (c *ClientCreateCall) Do() (*ClientRegistrationResponse, error) {
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.clientcreaterequest)
if err != nil {
return nil, err
}
ctype := "application/json"
params := make(url.Values)
params.Set("alt", "json")
if v, ok := c.opt_["fields"]; ok {
params.Set("fields", fmt.Sprintf("%v", v))
}
urls := googleapi.ResolveRelative(c.s.BasePath, "client")
urls += "?" + params.Encode()
req, _ := http.NewRequest("POST", urls, body)
googleapi.SetOpaque(req.URL)
req.Header.Set("Content-Type", ctype)
req.Header.Set("User-Agent", "google-api-go-client/0.5")
res, err := c.s.client.Do(req)
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, err
}
var ret *ClientRegistrationResponse
if err := json.NewDecoder(res.Body).Decode(&ret); err != nil {
return nil, err
}
return ret, nil
// {
// "description": "Register an OpenID Connect client.",
// "httpMethod": "POST",
// "id": "dex.admin.Client.Create",
// "path": "client",
// "request": {
// "$ref": "ClientCreateRequest"
// },
// "response": {
// "$ref": "ClientRegistrationResponse"
// }
// }
}
// method id "dex.admin.State.Get": // method id "dex.admin.State.Get":
type StateGetCall struct { type StateGetCall struct {
......
...@@ -50,6 +50,53 @@ const DiscoveryJSON = `{ ...@@ -50,6 +50,53 @@ const DiscoveryJSON = `{
"type": "boolean" "type": "boolean"
} }
} }
},
"ClientCreateRequest": {
"id": "ClientCreateRequest",
"type": "object",
"description": "A request to register a client with dex.",
"properties": {
"isAdmin": {
"type": "boolean"
},
"client": {
"type": "object",
"properties": {
"redirect_uris": {
"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)."
},
"client_name": {
"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 ) ."
},
"logo_uri": {
"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 ) ."
},
"client_uri": {
"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 ) ."
}
}
}
}
},
"ClientRegistrationResponse": {
"id": "ClientRegistrationResponse",
"type": "object",
"description": "Upon successful registration, an ID and secret is assigned to the client.",
"properties": {
"client_id": {
"type": "string"
},
"client_secret": {
"type": "string"
}
}
} }
}, },
"resources": { "resources": {
...@@ -101,6 +148,22 @@ const DiscoveryJSON = `{ ...@@ -101,6 +148,22 @@ const DiscoveryJSON = `{
} }
} }
} }
},
"Client": {
"methods": {
"Create": {
"id": "dex.admin.Client.Create",
"description": "Register an OpenID Connect client.",
"httpMethod": "POST",
"path": "client",
"request": {
"$ref": "ClientCreateRequest"
},
"response": {
"$ref": "ClientRegistrationResponse"
}
}
}
} }
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment