Commit 8e4f69b
Changed files (3)
pkg/dto/client_information_response.go
@@ -13,27 +13,23 @@ type ClientInformationResponse struct {
ClientSecret string `json:"client_secret"`
ClientIdIssuedAt int64 `json:"client_id_issued_at"`
ClientSecretExpiresAt int64 `json:"client_secret_expires_at"`
-
- RedirectUris []string `json:"redirect_uris"`
- GrantTypes []string `json:"grant_types"`
- ClientName string `json:"client_name"`
- TokenEndpointAuthMethod string `json:"token_endpoint_auth_method"`
- LogoUri string `json:"logo_uri"`
- JwksUri string `json:"jwks_uri"`
+ ClientMetadata
}
func NewClientInformationResponse(request *ClientRegistrationRequest) *ClientInformationResponse {
expiresAt := time.Now().Add(time.Duration(1) * time.Hour)
return &ClientInformationResponse{
- ClientId: uuid.GenerateUUID(),
- ClientIdIssuedAt: time.Now().Unix(),
- ClientName: request.ClientName,
- ClientSecret: uuid.GenerateUUID(),
- ClientSecretExpiresAt: expiresAt.Unix(),
- RedirectUris: request.RedirectUris,
- TokenEndpointAuthMethod: request.TokenEndpointAuthMethod.String(),
- LogoUri: request.LogoUri,
- JwksUri: request.JWKSUri,
+ ClientMetadata: ClientMetadata{
+ RedirectUris: request.RedirectUris,
+ ClientName: request.ClientName,
+ TokenEndpointAuthMethod: request.TokenEndpointAuthMethod,
+ LogoUri: request.LogoUri,
+ JWKSUri: request.JWKSUri,
+ },
+ ClientId: uuid.GenerateUUID(),
+ ClientIdIssuedAt: time.Now().Unix(),
+ ClientSecret: uuid.GenerateUUID(),
+ ClientSecretExpiresAt: expiresAt.Unix(),
}
}
pkg/dto/client_metadata.go
@@ -3,7 +3,7 @@ package dto
type ClientMetadata struct {
RedirectUris []string `json:"redirect_uris"`
TokenEndpointAuthMethod TokenEndpointAuthMethod `json:"token_endpoint_auth_method"`
- GrantTypes []GrantType
+ GrantTypes []GrantType `json:"grant_types"`
ResponseTypes []ResponseType
ClientName string `json:"client_name"`
ClientUri string
pkg/web/register_test.go
@@ -40,10 +40,10 @@ func TestRegister(t *testing.T) {
json.NewDecoder(w.Body).Decode(&x)
assert.Equal(t, "My Client", x.ClientName)
- assert.Equal(t, "client_secret_basic", x.TokenEndpointAuthMethod)
+ assert.Equal(t, dto.ClientSecretBasic, x.TokenEndpointAuthMethod)
assert.Equal(t, "https://client.example.org/callback", x.RedirectUris[0])
assert.Equal(t, "https://client.example.org/logo.png", x.LogoUri)
- assert.Equal(t, "https://client.example.org/my_public_keys.jwks", x.JwksUri)
+ assert.Equal(t, "https://client.example.org/my_public_keys.jwks", x.JWKSUri)
assert.Equal(t, 1, len(x.RedirectUris))
assert.NotEmpty(t, x.ClientId)
assert.NotEmpty(t, x.ClientIdIssuedAt)