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.
Templates view
Properties 1
Take no arguments.
-
#
getClientIdIssuedAt() -
?DateTime - Per RFC 7591 §3.2, the inherited
createdcolumn is the canonicalclient_id_issued_at.
No members match the filter.
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
createdcolumn is the canonicalclient_id_issued_at.
No members match the filter.
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
createdcolumn is the canonicalclient_id_issued_at.
No members match the filter.