## Documentation

- About
- Read First
  - What is IdentityServer
  - Installation Scenarios
- Migrations
- Bootstrapping
- Configuration & Integration
  - AdminUI Settings
  - Configuring AdminUI
  - Configuring AdminUI (NuGet)
  - Integrating with Identity Server
  - Integrating with Identity Server Custom Schema
  - Integrating with Quickstarts
  - Enabling Logging
- Installation
  - IIS
  - Azure
    - Install in Azure
    - Create Azure Web App
  - Docker
  - NuGet
- Custom Database Connections
- Custom Identity Store
  - Overview
  - Partial Implementation
  - Full Implementation
  - Tenancy With Entity Framework
  - NoSql Implementation (MongoDB)
- Custom CSP
- Users
  - Searching for Users
  - Adding Users
  - Editing Users
  - Deleting Users
  - Merge Users
  - Set User Password
  - Session Management
  - User Reports
  - Bulk User Import
- Roles
  - Creating Roles
  - Managing Roles
  - Managing Users in a Role
  - Managing Role Claims
- Claim Types
- Clients
  - Searching for Clients
  - Adding Clients
  - Adding a SAML Client
  - Adding a WS-Fed Client
  - Editing Clients
  - Deleting Clients
  - Clone Client
- Import and Export
  - Exporting Clients
  - Importing Clients
  - Importing Client Configuration with Secrets
  - Importing SAML Clients with Certificates
  - Import and Export Via the API
- Dynamic Authentication Providers
  - What is Dynamic Authentication
  - Enabling or disabling Dynamic Authentication
  - Add a Dynamic Provider
    - First Steps
    - Adding OIDC Provider
    - Adding SAML Provider
  - Edit a Dynamic Provider
    - Accessing edit view
    - Editing a OIDC Provider
    - Editing a SAML Provider
  - Deleting a Provider
  - Searching for Provider
- Resources
  - Searching for Resources
  - Creating Resources
  - Editing resources
- Webhooks
  - Webhooks
  - Endpoint Configuration
- MCP
  - Overview
  - Default Server Prompt Instructions
- User Settings Endpoints
- Access Policy
- Keys
- Auditing
- FAQs
- Troubleshooting
  - Unable to start AdminUI
  - Unable to contact IdentityServer
  - Unable to contact API
  - Unable to log in

### Exporting Clients

- -Exporting clients
- -Exporting specific clients
- -Example JSON

## Exporting clients

In order to use the export clients feature you will need to navigate to the clients page.

Clicking the export button located to the right of the "Add Client" button at the top of the page will export all clients and their associated claim types, identity resources and protected resources.

When exporting clients their secrets and certificates will not be exported. Any clients that have secrets or certificates will be flagged for you to review upon import.

## Exporting specific clients

To export specific clients you can select clients individually within the clients list or use the checkbox at the top to select all. When you select clients from the list the export button will display the number of clients you have selected.

Note: If a client is reserved it is not selectable for export.

## Example JSON

The format of the export is JSON. Below you will see example JSON displaying a client that has been selected for export along with its associated resources and claim types.

Note: Although you can edit this JSON manually before import, it is not advisable due to potential parsing errors

    {
      "metadata": {
        "exportedAt": "2020-01-20T09:49:12Z",
        "exportedBy": "info@rocksolidknowledge.com",
        "exportVersion": "2.6"
      },
      "clients": [
        {
          "clientId": "a46cfa01b4704f16a9fec1cd6cc4b015",
          "clientName": "RSK_SPA_HR",
          "description": "HR management portal",
          "enabled": true,
          "clientType": 7,
          "protocolType": "oidc",
          "requireClientSecret": false,
          "clientUri": "https://localhost:5000",
          "requireConsent": true,
          "allowRememberConsent": true,
          "allowedGrantTypes": [
            "authorization_code"
          ],
          "requirePkce": true,
          "allowPlainTextPkce": false,
          "allowAccessTokensViaBrowser": false,
          "redirectUris": [
            "https://localhost:5000"
          ],
          "postLogoutRedirectUris": [
            "https://localhost:5000"
          ],
          "frontChannelLogoutSessionRequired": true,
          "allowOfflineAccess": false,
          "allowedScopes": [
            "admin_ui_profile",
            "RSK Profile",
            "admin_ui_public",
            "admin_api"
          ],
          "alwaysIncludeUserClaimsInIdToken": false,
          "identityTokenLifetime": 300,
          "accessTokenLifetime": 1800,
          "authorizationCodeLifetime": 300,
          "absoluteRefreshTokenLifetime": 2592000,
          "slidingRefreshTokenLifetime": 1296000,
          "refreshTokenUsage": 1,
          "updateAccessTokenClaimsOnRefresh": false,
          "refreshTokenExpiration": 1,
          "accessTokenType": 0,
          "enableLocalLogin": true,
          "identityProviderRestrictions": [],
          "includeJwtId": false,
          "alwaysSendClientClaims": false,
          "allowedCorsOrigins": [
            "https://localhost:5000"
          ],
          "properties": [],
          "backChannelLogoutSessionRequired": true,
          "nonEditable": false,
          "deviceCodeLifetime": 300,
          "reserved": false,
          "claims": [],
          "hadSecrets": false
        }
      ],
      "identityResources": [
        {
          "name": "RSK Profile",
          "displayName": "RSK Profile Resource",
          "description": "This is the RSK Profile resource",
          "enabled": true,
          "required": false,
          "emphasize": false,
          "showInDiscoveryDocument": true,
          "allowedClaims": [
            "RSK-Id"
          ],
          "nonEditable": false
        }
      ],
      "claimTypes": [
        {
          "name": "RSK-Id",
          "description": "This is the ClaimType RSK-Id",
          "required": false,
          "reserved": false,
          "valueType": 0,
          "rule": "",
          "ruleValidationFailureDescription": "",
          "userEditable": false
        }
      ]
    }

Previous Next