ModelOAuth module

DcrClient

OAuth client registered via RFC 7591 Dynamic Client Registration.
Auto-registered on POST /oauth/register. The framework implements the open-registration
subset of RFC 7591 actually exercised by Claude Custom Connectors: no Initial Access
Token, no software statement, no RFC 7592 management endpoints.
Distinguished from CimdClient and RegisteredClient via:
- the entity discriminator column (= 'OAuth\Entities\DcrClient')
- oauthClientId is a synthetic 'dcr_<base62 of random_bytes(20)>' value
Editable in the admin UI (no upstream document to overwrite). Auto-cleanup
sweeps idle DcrClient rows after oauth.dcr.retentionDays days (default 7) —
critical because Claude registers a fresh DCR client per connection.
The registration metadata as submitted by the client is captured on the inherited
clientMetadata JSON column. The inherited created column doubles as
client_id_issued_at per RFC 7591 §3.2.

A model in the OAuth module, with 1 members for templates, 1 API properties and 1 members for admin templates.

OAuth\Models\Frontend\DcrClient OAuth\Models\Api\DcrClient OAuth\Models\Backend\DcrClient Also in OAuth: AccessToken AuthorizationCode CimdClient Client Passkey RefreshToken RegisteredClient RememberMeToken UserAuthenticator UserOauthClient
View
What Smarty and Twig templates receive. Properties in REST API responses and job payloads. What admin screen templates receive when you override them.

Templates view

Properties 1

Take no arguments.

# getClientIdIssuedAt()
?DateTime
Per RFC 7591 §3.2, the inherited created column is the canonical client_id_issued_at.

API & Jobs view

API & JobsEach property is a key in REST API responses and job payloads. Its name is the template getter without get, is or has. Methods that need arguments are not available here.

Properties 1

Read-only values on the record.

# clientIdIssuedAt
?DateTime
Per RFC 7591 §3.2, the inherited created column is the canonical client_id_issued_at.

Admin view

AdminAvailable in cdna-admin templates. Copy an admin template into your site repository to change how this record is edited.

Properties 1

Take no arguments.

# getClientIdIssuedAt()
?DateTime
Per RFC 7591 §3.2, the inherited created column is the canonical client_id_issued_at.