• Products
    • IdentityServer
    • IdentityServer for Redistribution
    • Backend for Frontend (BFF) Security Framework
  • Documentation
  • Training
  • Resources
    • Company Blog
    • Featured Articles
    • About
      • Company
      • Partners
      • Careers
      • Contact
    Duende Software Blog
    • Products
      • IdentityServer
      • IdentityServer for Redistribution
      • Backend for Frontend (BFF) Security Framework
      • Open Source
    • Documentation
    • Training
    • Resources
      • Company Blog

        Stay up-to-date with the latest developments in identity and access management.

      • Featured Articles
      • About
        • Company
        • Partners
        • Careers
        • Contact
      • Start for free
        Contact sales

      IdentityServer 6.3 and Dynamic Client Registration

      published on May 10, 2023

      The second main feature of IdentityServer v6.3 is support for the Dynamic Client Registration (DCR) protocol.

      This is on one hand part of our ongoing journey to implement all relevant protocols from the OAuth and OpenID Connect working groups, but also the start of a bigger effort around adding programmatic configuration capabilities to IdentityServer.

      DCR really consists of a base specification (RFC 7591) and various add-ons defining additional client metadata elements. Most notably here are the OpenID Connect additions, but really almost every other spec added some more elements to DCR.

      The below snippet shows how to use IdentityModel to register a new client for a machine to machine communication:

      var client = new HttpClient();
      
      var request = new DynamicClientRegistrationRequest
      {
          Address = Constants.Authority + "/connect/dcr",
          Document = new()
          {
              GrantTypes = { "client_credentials" },
              Scope = "api1 api2"
          }
      };
      
      var response = await client.RegisterClientAsync(request);
      
      var clientId = response.ClientId;
      var clientSecret = response.ClientSecret;
      

      IdentityServer 6.3 has built-in support for a subset of the client metadata found in the RFC and satellite specs, but has a rich extensibility model to add support for additional elements or custom logic as well as custom authentication and authorization.

      sample / docs

      The client registration endpoint is our first step towards a more complete programmatic configuration feature. For example, we will look into the Dynamic Client Registration Management protocol (RFC 7592) and also see if we can apply those patterns for registering scopes and resources in the future.

      Duende logo

      Products

      • IdentityServer
      • IdentityServer for Redistribution
      • Backend for Frontend (BFF)
      • IdentityModel
      • Access Token Management
      • IdentityModel OIDC Client

      Community

      • Documentation
      • Company Blog
      • GitHub Discussions

      Company

      • Company
      • Partners
      • Training
      • Quickstarts
      • Careers
      • Contact

      Subscribe to our newsletter

      Stay up-to-date with the latest developments in identity and access management.

      Copyright © 2020-2025 Duende Software. All rights reserved.

      Privacy Policy | Terms of Service