Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion descope/sdk/mgmt.go
Original file line number Diff line number Diff line change
Expand Up @@ -1268,7 +1268,8 @@ type ThirdPartyApplication interface {
// PermissionsScopes: List of permissions scopes.
// ScopeClaimMapping: List of scope→claim mapping entries.
// JWTBearerSettings: Optional JWT Bearer settings which used to validate external token.
// ClientType: Optional client authentication model, "confidential" or "public".
// ClientType: Optional client authentication model, "confidential" or "public". If empty on create, newer
// accounts get "confidential" and older ones the legacy unspecified mode.

@talaharoni talaharoni Oct 21, 2026 •

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i guess customers will ask themselves how can they know if they are new or not and we don't have answer for that..
consider re-phrasing somehow?
(if changing do it for other SDK PRs as well)

// ForceDpop: Optional, requires a DPoP proof at the token endpoint. Needs a ClientType.
//
// The argument appRequest.Name must be unique per project.
Expand Down
6 changes: 4 additions & 2 deletions descope/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -1175,7 +1175,7 @@ type OIDCApplicationRequest struct {
// the client_secret is generated server-side (fetch/rotate it via the application secret methods).
ClientID string `json:"clientId,omitempty"`
ClientSecret string `json:"clientSecret,omitempty"`
ClientType string `json:"clientType,omitempty"`
ClientType string `json:"clientType,omitempty"` // "confidential" or "public"; if empty on create, newer accounts get "confidential" and older ones the legacy access-key mode
ApprovedRedirectURLs []string `json:"approvedRedirectUrls,omitempty"`
AuthorizationCodeDisabled bool `json:"authorizationCodeDisabled,omitempty"`
ClientCredentialsDisabled bool `json:"clientCredentialsDisabled,omitempty"`
Expand Down Expand Up @@ -2025,7 +2025,9 @@ type ThirdPartyApplicationRequest struct {
ForcePkce bool `json:"forcePkce,omitempty"`
// DefaultAudience controls the default aud of issued tokens: "projectId", "clientId", or "" (both).
DefaultAudience string `json:"defaultAudience,omitempty"`
// ClientType sets the client authentication model: "confidential" or "public".
// ClientType sets the client authentication model: "confidential" or "public". If empty on create, newer
// accounts get "confidential" and older ones the legacy unspecified mode. Newer accounts can't move an app to
// the legacy mode, so pass the current type on update.
ClientType string `json:"clientType,omitempty"`
// ForceDpop requires a valid DPoP proof at the token endpoint. Only a "confidential" or "public" ClientType may require it.
ForceDpop bool `json:"forceDpop,omitempty"`
Expand Down
Loading