Skip to content

App Settings

Michael Vivet edited this page Sep 1, 2024 · 128 revisions

Table of Contents


App Section

Default values listed.

"App": {
    "Name": "Application",
    "EntryPoint": null,
    "Description": null,
    "Version": "1.0.0.0",
    "TermsOfService": null, 
    "DefaultTimeZone": "UTC",
    "Cultures": {
        "Default": "en-US",
        "Supported": [
            "en-US"
        ]
    }
}

Name
The name of the application.
Used with swagger-gen documentation.

EntryPoint
The entry point assembly of of the application.

Description
A description of the application.
Used with swagger-gen documentation.

Version
The current version of the application.
Used with swagger-gen documentation.

TermsOfService
The terms of service associated with the application.
Used with swagger-gen documentation.

DefaultTimeZone
The default timezone to use, if non is provided through request timezone.
Default: UTC.

Cultures
The cultures supported by the application for requests and user-interface.

  • Default: The default locale.
  • Supported: Other supported locales.

Web Section

Default values listed.

  "Web": {
    "Hosting": {
        "Root": "api",
        "Ports": [
        ],
        "PortsHttps": [
        ],
        "ShutdownTimeout": 10,
        "UseHttpsRequired": false,
        "UseForwardedHeaders": true, 
        "UseResponseCompression": true, 
        "UseContentTypeOptions": false, 
        "Hsts": {
            "IsEnabled": false, 
            "MaxAge": null,
            "UsePreload": false,
            "IncludeSubdomains": false 
        },
        "Csp": {
          "BlockAllMixedContent": false,
          "UpgradeInsecureRequests": false,
          "Defaults": {
            "IsNone": false,
            "IsSelf": false,
            "Sources": [
            ]
          },
          "Styles": {
            "IsNone": false,
            "IsSelf": false,
            "IsUnsafeInline": false,
            "Sources": [
            ]
          },
          "Scripts": {
            "IsNone": false,
            "IsSelf": false,
            "IsUnsafeEval": false,
            "IsUnsafeInline": false,
            "StrictDynamic": false,
            "Sources": [
            ]
          },
          "Objects": {
            "IsNone": false,
            "IsSelf": false,
            "Sources": [
            ]
          },
          "Images": {
            "IsNone": false,
            "IsSelf": false,
            "Sources": [
            ]
          },
          "Media": {
            "IsNone": false,
            "IsSelf": false,
            "Sources": [
            ]
          },
          "Frames": {
            "IsNone": false,
            "IsSelf": false,
            "Sources": [
            ]
          },
          "FrameAncestors": {
            "IsNone": false,
            "IsSelf": false,
            "Sources": [
            ]
          },
          "Fonts": {
            "IsNone": false,
            "IsSelf": false,
            "Sources": [
            ]
          },
          "Connections": {
            "IsNone": false,
            "IsSelf": false,
            "Sources": [
            ]
          },
          "BaseUris": {
            "IsNone": false,
            "IsSelf": false,
            "Sources": [
            ]
          },
          "Children": {
            "IsNone": false,
            "IsSelf": false,
            "Sources": [
            ]
          },
          "Forms": {
            "IsNone": false,
            "IsSelf": false,
            "Sources": [
            ]
          },
          "Manifests": {
            "IsNone": false,
            "IsSelf": false,
            "Sources": [
            ]
          },
          "Workers": {
            "IsNone": false,
            "IsSelf": false,
            "Sources": [
            ]
          },
          "Sandbox": {
            "AllowForms": false,
            "AllowModals": false,
            "AllowOrientationLock": false,
            "AllowPointerLock": false,
            "AllowPopups": false,
            "AllowPopupsToEscapeSandbox": false,
            "AllowPresentation": false,
            "AllowSameOrigin": false,
            "AllowScripts": false,
            "AllowTopNavigation": false
          },
          "PermissionsPolicy": {
            "Accelerometer": {
              "IsNone": false,
              "IsSelf": false,
              "Sources": [
              ]
            },
            "AmbientLightSensor": {
              "IsNone": false,
              "IsSelf": false,
              "Sources": [
              ]
            },
            "AutoPlay": {
              "IsNone": false,
              "IsSelf": false,
              "Sources": [
              ]
            },
            "Battery": {
              "IsNone": false,
              "IsSelf": false,
              "Sources": [
              ]
            },
            "Camera": {
              "IsNone": false,
              "IsSelf": false,
              "Sources": [
              ]
            },
            "DisplayCapture": {
              "IsNone": false,
              "IsSelf": false,
              "Sources": [
              ]
            },
            "DocumentDomain": {
              "IsNone": false,
              "IsSelf": false,
              "Sources": [
              ]
            },
            "EncryptedMedia": {
              "IsNone": false,
              "IsSelf": false,
              "Sources": [
              ]
            },
            "ExecutionWhileNotRendered": {
              "IsNone": false,
              "IsSelf": false,
              "Sources": [
              ]
            },
            "ExecutionWhileOutOfViewport": {
              "IsNone": false,
              "IsSelf": false,
              "Sources": [
              ]
            },
            "FullScreen": {
              "IsNone": false,
              "IsSelf": false,
              "Sources": [
              ]
            },
            "Gamepad": {
              "IsNone": false,
              "IsSelf": false,
              "Sources": [
              ]
            },
            "Geolocation": {
              "IsNone": false,
              "IsSelf": false,
              "Sources": [
              ]
            },
            "Gyroscope": {
              "IsNone": false,
              "IsSelf": false,
              "Sources": [
              ]
            },
            "LayoutAnimations": {
              "IsNone": false,
              "IsSelf": false,
              "Sources": [
              ]
            },
            "LegacyImageFormats": {
              "IsNone": false,
              "IsSelf": false,
              "Sources": [
              ]
            },
            "Magnetometer": {
              "IsNone": false,
              "IsSelf": false,
              "Sources": [
              ]
            },
            "Microphone": {
              "IsNone": false,
              "IsSelf": false,
              "Sources": [
              ]
            },
            "Midi": {
              "IsNone": false,
              "IsSelf": false,
              "Sources": [
              ]
            },
            "NavigationOverride": {
              "IsNone": false,
              "IsSelf": false,
              "Sources": [
              ]
            },
            "OversizedImages": {
              "IsNone": false,
              "IsSelf": false,
              "Sources": [
              ]
            },
            "Payment": {
              "IsNone": false,
              "IsSelf": false,
              "Sources": [
              ]
            },
            "PictureInPicture": {
              "IsNone": false,
              "IsSelf": false,
              "Sources": [
              ]
            },
            "PublicKeyCredentialsGet": {
              "IsNone": false,
              "IsSelf": false,
              "Sources": [
              ]
            },
            "SpeakerSelection": {
              "IsNone": false,
              "IsSelf": false,
              "Sources": [
              ]
            },
            "SyncXhr": {
              "IsNone": false,
              "IsSelf": false,
              "Sources": [
              ]
            },
            "UnoptimizedImages": {
              "IsNone": false,
              "IsSelf": false,
              "Sources": [
              ]
            },
            "UnsizedMedia": {
              "IsNone": false,
              "IsSelf": false,
              "Sources": [
              ]
            },
            "Usb": {
              "IsNone": false,
              "IsSelf": false,
              "Sources": [
              ]
            },
            "ScreenWakeLock": {
              "IsNone": false,
              "IsSelf": false,
              "Sources": [
              ]
            },
            "WebShare": {
              "IsNone": false,
              "IsSelf": false,
              "Sources": [
              ]
            },
            "XrSpatialTracking": {
              "IsNone": false,
              "IsSelf": false,
              "Sources": [
              ]
            }
          },
          "ReportUris": [
          ],
          "PluginTypes": [
          ]
        },
        "Cors": {
          "AllowedOrigins": [
          ],
          "AllowedHeaders": [
          ],
          "AllowedMethods": [
          ],
          "AllowCredentials": true,
          "Origin": {
            "EmbedderPolicy": null,
            "OpenerPolicy": null,
            "ResourcePolicy": null
          }
        },
        "Cache": {
            "IsEnabled": true, 
            "MaxSize": 1024,
            "MaxBodySize": 102400,
            "MaxAge": "00:20:00"
        },
        "Robots": {
            "IsEnabled": false, 
            "UseNoIndex": false,
            "UseNoFollow": false,
            "UseNoSnippet": false,
            "UseNoArchive": false,
            "UseNoOdp": false,
            "UseNoTranslate": false,
            "UseNoImageIndex": false
        },
        "Session": {
            "IsEnabled": true, 
            "Timeout": "00:20:00"
        },
        "HealthCheck": {
          "UseHealthCheck": true,
          "UseHealthCheckUI": true,
          "EvaluationInterval": 10,
          "FailureNotificationInterval": 60,
          "MaximumHistoryEntriesPerEndpoint": 50,
          "WebHooks": [
            {
              "Name": null,
              "Url": null,
              "Payload": null
            }
          ] 
        },
        "Certificate": {
            "Path": null,
            "Password": null
        },
        "VirusScan": {
            "IsEnabled": false,
            "Host": "clamav",
            "Port": "3310",
            "UseHealthCheck": true
        },
        "ReferrerPolicyHeader": "Disabled",
        "FrameOptionsPolicyHeader": "Disabled",
        "XssProtectionPolicyHeader": "Disabled"
    },
    "Documentation": {
        "IsEnabled": true,
        "CspNonce": null,
        "UseDefaultVersion": true,
        "Contact": {
            "Name": null,
            "Email": null,
            "Url": null
        },
        "License": {
            "Name": null,
            "Url": null
        }
    }
}

Hosting
The configurable hosting parameters.

  • Root The root path of application routing. http://0.0.0.0/{root}/.
  • Ports The ports that the application will be configured to listen and respond to.
  • PortsHttps The https ports that the application will be configured to listen and respond to.
  • ShutdownTimeout The number of seconds the application will wait after receiving a SIGTERM signal. Defaults to 10 seconds.
  • UseHttpsRequired Configures https to be required for all requests.
  • UseForwardedHeaders When enabled headers is forwarded, using x-forwarded headers.
  • UseResponseCompression Enables compression of http GET responses.
  • UseContentTypeOptions Enables x-content-type-options header.
  • Hsts Adds Hsts (Strict Transport Security) header values. Read More....
    • IsEnabled Enables or disables the use of Hsts.
    • MaxAge The maximum age (timespan). Header: max-age={value}.
    • Preload Whether the preload="true" header should be added to the Hsts configuration.
    • IncludeSubdomains Whether the includeSubdomains="true" header should be added to the Hsts
  • Csp Adds CSP (Content Security Policy) header values. Read More....
    • BlockAllMixedContent Directive prevents loading any assets over HTTP when the page uses HTTPS.
    • UpgradeInsecureRequests Directive instructs user agents to treat all of a site's insecure URLs (those served over HTTP) as though they have been replaced with secure URLs (those served over HTTPS).
    • Defaults Default Directive (fallback).
    • Styles Directive specifies valid sources for styles.
    • Scripts Directive specifies valid sources for Scripts.
    • Objects Directive specifies valid sources for Objects.
    • Images Directive specifies valid sources for Images.
    • Media Directive specifies valid sources for Media.
    • Frames Directive specifies valid sources for Frames.
    • FrameAncestors Directive specifies valid sources for Frame Ancestors.
    • Fonts Directive specifies valid sources for Fonts.
    • Connections Directive specifies valid sources for Connections.
    • BaseUris Directive specifies valid sources for base Uri's.
    • Children Directive specifies valid sources for Children.
    • Forms Directive specifies valid sources for Forms.
    • Manifests Directive specifies valid sources for Manifests.
    • Workers Directive specifies valid sources for Workers.
    • Sandbox
      • AllowForms Allows the page to submit forms. If this keyword is not used, this operation is not allowed.
      • AllowModals Allows the page to open modal windows.
      • AllowOrientationLock Allows the page to disable the ability to lock the screen orientation.
      • AllowPointerLock Allows the page to use the Pointer Lock API.
      • AllowPopups Allows popups.
      • AllowPopupsToEscapeSandbox Allows a sandboxed document to open new windows without forcing the sandboxing flags upon them.
      • AllowPresentation Allows embedders to have control over whether an iframe can start a presentation session.
      • AllowSameOrigin Allows the content to be treated as being from its normal origin.
      • AllowScripts Allows the page to run scripts (but not create pop-up windows).
      • AllowTopNavigation Allows the page to navigate (load) content to the top-level browsing context.
    • PermissionPolicy Directive that lets you enable and disable browser features.
      • Accelerometer Controls whether the current document is allowed to gather information about the acceleration of the device through the Accelerometer interface.
      • AmbientLightSensor Controls whether the current document is allowed to gather information about the amount of light in the environment around the device through the AmbientLightSensor interface.
      • AutoPlay Controls whether the current document is allowed to autoplay media requested through the HTMLMediaElement interface. When this policy is disabled and there were no user gestures, the Promise returned by HTMLMediaElement.play() will reject with a DOMException. The autoplay attribute on and elements will be ignored.
      • Battery Controls whether the use of the Battery Status API is allowed. When this policy is disabled, the Promise returned by Navigator.getBattery() will reject with a NotAllowedError DOMException.
      • Camera Controls whether the current document is allowed to use video input devices. When this policy is disabled, the Promise returned by getUserMedia() will reject with a NotAllowedError DOMException.
      • DisplayCapture Controls whether or not the current document is permitted to use the getDisplayMedia() method to capture screen contents. When this policy is disabled, the promise returned by getDisplayMedia() will reject with a NotAllowedError if permission is not obtained to capture the display's contents.
      • DocumentDomain Controls whether the current document is allowed to set document.domain. When this policy is disabled, attempting to set document.domain will fail and cause a SecurityError DOMException to be thrown.
      • EncryptedMedia Controls whether the current document is allowed to use the Encrypted Media Extensions API (EME). When this policy is disabled, the Promise returned by Navigator.requestMediaKeySystemAccess() will reject with a DOMException.
      • ExecutionWhileNotRendered Controls whether tasks should execute in frames while they're not being rendered (e.g. if an iframe is hidden or display: none).
      • ExecutionWhileOutOfViewport Controls whether tasks should execute in frames while they're outside of the visible viewport.
      • FullScreen Controls whether the current document is allowed to use Element.requestFullScreen(). When this policy is disabled, the returned Promise rejects with a TypeError.
      • Gamepad Controls whether the current document is allowed to use the Gamepad API. When this policy is disabled, calls to Navigator.getGamepads() will throw a SecurityError DOMException, and the gamepadconnected and gamepaddisconnected events will not fire.
      • Geolocation Controls whether the current document is allowed to use the Geolocation Interface. When this policy is disabled, calls to getCurrentPosition() and watchPosition() will cause those functions' callbacks to be invoked with a GeolocationPositionError code of PERMISSION_DENIED.
      • Gyroscope Controls whether the current document is allowed to gather information about the orientation of the device through the Gyroscope interface.
      • LayoutAnimations Controls whether the current document is allowed to show layout animations.
      • LegacyImageFormats Controls whether the current document is allowed to display images in legacy formats.
      • Magnetometer Controls whether the current document is allowed to gather information about the orientation of the device through the Magnetometer interface.
      • Microphone Controls whether the current document is allowed to use audio input devices. When this policy is disabled, the Promise returned by MediaDevices.getUserMedia() will reject with a NotAllowedError.
      • Midi Controls whether the current document is allowed to use the Web MIDI API. When this policy is disabled, the Promise returned by Navigator.requestMIDIAccess() will reject with a DOMException.
      • NavigationOverride Controls the availability of mechanisms that enables the page author to take control over the behavior of spatial navigation, or to cancel it outright.
      • OversizedImages Controls whether the current document is allowed to download and display large images.
      • Payment Controls whether the current document is allowed to use the Payment Request API. When this policy is enabled, the PaymentRequest() constructor will throw a SecurityError DOMException.
      • PictureInPicture Controls whether the current document is allowed to play a video in a Picture-in-Picture mode via the corresponding API.
      • PublicKeyCredentialsGet Controls whether the current document is allowed to use the Web Authentication API to retrieve already stored public-key credentials, i.e. via navigator.credentials.get({publicKey: ..., ...}).
      • SpeakerSelection Controls whether the current document is allowed to use the Audio Output Devices API to list and select speakers.
      • SyncXhr Controls whether the current document is allowed to make synchronous XMLHttpRequest requests.
      • UnoptimizedImages Controls whether the current document is allowed to download and display unoptimized images.
      • UnsizedMedia Controls whether the current document is allowed to change the size of media elements after the initial layout is complete.
      • Usb Controls whether the current document is allowed to use the WebUSB API.
      • ScreenWakeLock Controls whether the current document is allowed to use Screen Wake Lock API to indicate that device should not turn off or dim the screen.
      • WebShare Controls whether or not the current document is allowed to use the Navigator.share() of Web Share API to share text, links, images, and other content to arbitrary destinations of user's choice, e.g. mobile apps.
      • XrSpatialTracking Controls whether or not the current document is allowed to use the WebXR Device API to interact with a WebXR session.
    • ReportUris Directive instructs the user agent to report violation attempts.
    • PluginTypes Directive restricts the set of plugins that can be embedded into a document.
  • Cors Cors options.
    • AllowedOrigins The allowed origins. Defaults to any if none is specified.
    • AllowedHeaders The allowed headers. Defaults to any if none is specified.
    • AllowedMethods The allowed methods. Defaults to all if none is specified.
    • AllowCredentials Whether credentials is allowed. Default: true.
    • Origin Origin options.
      • EmbedderPolicy Embedder policy.
      • OpenerPolicy Opener policy.
      • ResourcePolicy Resource policy.
  • Cache Adds Cache-Control: no-cache, no-store, must-revalidate | Expires: -1 | Pragma: no-cache headers to all requests. Every request / page will be reloaded. Read more....
    • IsEnabled Enables or disables the use of caching.
    • MaxBodySize The maximum size in Mega Bytes (MB).
    • MaxBodySize The maximum body size in Mega Bytes (MB).
    • MaxAge The maximum age (timespan). Header: max-age={value}.
  • Robots Adds X-Robots-Tag: {values} header to all requests. Read More....
    • IsEnabled Enables or disables the use of x-robots header.
    • UseNoIndex Instructs search engines to not index the page.
    • UseNoFollow Instructs search engines to not follow links on the page.
    • UseNoSnippet Instructs search engines to not display a snippet for the page in search results.
    • UseNoArchive Instructs search engines to not offer a cached version of the page in search result.
    • UseNoODP Instructs search engines to not use information from the Open Directory Project for the page’s title or snippet.
    • UseNoTranslate Instructs search engines to not offer translation of the page in search results (Google only).
    • UseNoImageIndex Instructs search engines to not index images on the page (Google only).
  • Session
    • IsEnabled Enables or disables the use of session.
    • Timeout The timeout value used for the session.
  • HealthCheck
    • UseHealthCheck Enables the health check of the application.
    • UseHealthCheckUI Enables the health check UI to be included in the application.
    • EvaluationInterval The evaluation interval for invoking health-check. Default: 10.
    • FailureNotificationInterval The time interval between failure notifications. Default: 60.
    • MaximumHistoryEntriesPerEndpoint The maximum number of historical entries per endpoint in the UI database. Default: 50
    • WebHooks
      • Name The name of the webhook.
      • Url The url.
      • Name The Payload to be sent to the webhook.
  • ReferrerPolicyHeader Adds Referrer-Policy: {value}. Read More....
Configuration Resulting header
Disabled None
NoReferrer Referrer-Policy: no-referrer
NoReferrerWhenDowngrade Referrer-Policy: no-referrer-when-downgrade
SameOrigin Referrer-Policy: same-origin
Origin Referrer-Policy: origin
StrictOrigin Referrer-Policy: strict-origin
OriginWhenCrossOrigin Referrer-Policy: origin-when-cross-origin
StrictOriginWhenCrossOrigin Referrer-Policy: strict-origin-when-cross-origin
UnsafeUrl Referrer-Policy: unsafe-url
  • FrameOptionsPolicyHeader Adds Referrer-Policy: {value} header. Read More...
Configuration Resulting header
Disabled None
Deny X-Frame-Options: Deny
SameOrigin X-Frame-Options: SameOrigin
  • XssProtectionPolicyHeader Adds X-XSS-Protection: {value} header. Read More....
Configuration Resulting header
Disabled None
FilterDisabled X-XSS-Protection: 0
FilterEnabled X-XSS-Protection: 1
FilterEnabledBlockMode X-XSS-Protection: 1; mode=block
  • Certificate The ssl certifacte.

    • Path The path to the location of the certificate.
    • Password The password for the certificate.
  • VirusScan The virus scan configuration.

    • IsEnabled Whether virus scan of uploaded files is enabled. Requires an internal network connection to a clamav server / container.
    • Host The host.
    • Port The port.
    • UseHealthCheck Whether to use health-check for the clamav instance.

Documentation

  • IsEnabled: Toggle swagger enabled/disabled (defualt=true).

  • CspNonce: The static nonce value to use for csp for swagger.

  • UseDefaultVersion: Use the current App version as default api version.

  • Contact
    The contact information of the person or organization.

    • Name: The contact name.
    • Email: The contact email address.
    • Url: The contact url (if any).
  • License
    The license information associated with the application.

    • Name: The name of the license.
    • Url: Reference to the license of the application.

Console Section

Default values listed.

{

}

Data Section

Default values listed.

"Data": {
    "BatchSize": "25",
    "BulkBatchSize": "500",
    "BulkBatchDelay": "1000",
    "QueryRetryCount": "0",
    "QueryIncludeDepth": "4",
    "UseAudit": true,
    "UseAutoSave": false,
    "UseMemoryCache": true,
    "UseLazyLoading": true,
    "UseCreateDatabase": true,
    "UseMigrateDatabase": true,
    "UseSoftDeletetion": true, 
    "UseSensitiveDataLogging": false,
    "UseConnectionPooling": false, 
    "UseHealthCheck": true,
    "UnhealthyStatus": "Unhealthy",
    "DefaultCollation": null,
    "ConnectionString": "Server={host};Database={database};Uid={user};Pwd={password}"
    "MemoryCache": {
        "MaxEntries": 5000,
        "ExpirationTimeoutInSeconds": 300,
        "ExpirationScanFrequencyInSeconds": 60,
        "ExpirationMode": "Sliding",
        "IgnoredTableNames": [
    ]
  } 
}

BatchSize
The number of rows returned by data provider in each package.

BulkBatchSize
The number of rows executed in each batch of a bulk operation.

BulkBatchDelay
The delay in milliseconds between batches of a bulk operation.

QueryRetryCount
The number of retries a query will perform, on timeouts errors and similar system faults.

QueryIncludeDepth
The maximum depth for nested property includes when querying. This only counts towards Get() and GetFirst(), other query methods, does not include nested properties.

UseAudit
Enables or disables the use of audit transaction log.

UseAutoSave
Automatically saves changes to the database from the repository.
Should not be enabled if you are using add, update and delete methods asynchronously.

UseMemoryCache
Enables or disables the use of distributed memory cache.

UseLazyLoading
Enables or disables the use of lazy loading.

UseCreateDatabase
Enables or disables the initial creation of the database on startup.

UseMigrateDatabase
Enables or disables the migration of the database on startup.

UseSoftDeletetion
Enables or disables soft deletion.
When invoking methods for deleting entities, instead of actually remove the data, the entity is marked as inactive (IsActive = false).

UseSensitiveDataLogging
Enables or disables logging of sensitive data. Typically this would be enabled for development (local) environments.

UseConnectionPooling
Enables or disables database connection pooling.

UseHealthCheck
Enables the health check of the data provider.

UnhealthyStatus
The health check status when unhealthy. Default: Unhealthy. Allowed Values. Unhealthy, Degraded.

DefaultCollation
The default collation used for the database. If none is specified, the default of the database provider will be applied.

ConnectionString
The connection-string used to establish a connection to the data provider.
A template for a connection-string is shown in the sample below. Any valid connection-string may be used.

MemoryCache
The memory cache configuration for the application.

  • MaxEntries: The maximum number of cache entries. Default: 5000.
  • ExpirationTimeoutInSeconds: The number of seconds before a cache entry expires. Default: 300.
  • ExpirationScanFrequencyInSeconds: The expiration scan interval in seconds. Default: 60.
  • ExpirationMode: The mode for cache expiration. Absolute or Sliding. Default: Sliding.
  • IgnoredTableNames: The table names that is ignored from the cache.

Security Section

Default values listed.

"Security": {
    "IsAuth": true, 
    "TokensExpirationInHours": 24,
    "Jwt": {
        "Issuer": "issuer",
        "Audience": "audience",
        "PublicKey": null,
        "PrivateKey": null,
        "ExpirationInminutes": 60,
        "RefreshExpirationInHours": 72
    },
    "User": {
        "AdminUsername": "admin",
        "AdminPassword": "password",
        "AdminEmailAddress": "[email protected]",
        "AllowedUserNameCharacters": null,
        "DefaultRoles": [
            "reader",
            "writer",
            "service"
        ]
    },
    "SignIn": {
        "RequireConfirmedEmail": false,
        "RequireConfirmedPhoneNumber": false
    },
    "Lockout": {
        "AllowedForNewUsers": true,
        "MaxFailedAccessAttempts": 3,
        "DefaultLockoutTimeSpan": "00:30:00"
    },
    "Password": {
        "RequireDigit": true,
        "RequireNonAlphanumeric": true,
        "RequireLowercase": true,
        "RequireUppercase": true,
        "RequiredLength": 12,
        "RequiredUniqueCharacters": 3
    },
    "ExternalLogins": {
        "Google": {
            "ClientId": null,
            "ClientSecret": "N/A",
            "Scopes": [
            ]
        },
        "Facebook": {
            "AppId": null,
            "AppSecret": "N/A",
            "Scopes": [
            ]
        },
            "Microsoft": {
            "TenantId": null,
            "ClientId": null,
            "ClientSecret": "N/A",
            "Scopes": [
            ]
        }
    }
}

IsAuth
Enables the auth-controller and the creation of an admin user.

TokensExpirationInHours
The expiration in hours of all tokens generated by identity management.

Jwt The configurable jwt parameters.

  • Issuer The jwt token issuer.
  • Audience The audience claim value.
  • PublicKey The public base64 encoded key, used to encrypt and decrypt jwt tokens.
  • privateKey The private base64 encoded key, used to encrypt and decrypt jwt tokens.
  • ExpirationInMinutes The token expiration time in minutes. When using external provider authentication, the jwt-token, should not have a higher expiration than the external token.
  • RefreshExpirationInHours The refresh token expiration time in hours.

User

  • AdminUsername The username of the admin user. Created by Nano.
  • AdminPassword The password of the admin user.
  • AdminEmailAddress The email address of the admin user.
  • AllowedUserNameCharacters The characters allowed in username. null for all.
  • DefaultRoles Array of roles assigned to new users, when signing up.

SignIn

  • RequireConfirmedEmail Whether login requires a confirmed email address.
  • RequireConfirmedPhoneNumber Whether login requires a confirmed phone number.

Lockout

  • AllowedForNewUsers Whether newly signed up users, can be locket out.
  • MaxFailedAccessAttempts The max failed password attempts, before lockout is issued.
  • DefaultLockoutTimeSpan The lockout time.

Password

  • RequireDigit Whether passwords require digits.
  • RequireNonAlphanumeric Whether passwords require alphanumeric characters.
  • RequireLowercase Whether passwords require lower-case letters.
  • RequireUppercase Whether passwords require upper-case letters.
  • RequiredLength The minimum length required.
  • RequiredUniqueCharecters The number of unique characters in the password.

ExternalLogins External login schemes, that should be supported by the application.

  • Google Google external login.
    • ClientId The client id.
    • ClientSecret The client secret.
    • Scopes The scopes available to the application from the external provider.
  • Facebook Facebook external login.
    • AppId The app id.
    • AppSecret The app secret.
    • Scopes The scopes available to the application from the external provider.
  • Microsoft Microsoft external login.
    • TenantId The tenant id.
    • ClientId The client id.
    • ClientSecret The client secret.
    • Scopes The scopes available to the application from the external provider.

Logging Section

Default values listed.

"Logging": {
    "LogLevel": "Information",
    "LogLevelOverrides": 
    [
        {
            "Namespace": null,
            "LogLevel": null
        }
    ]
}

LogLevel
The minimum severity of which logging is performed.
Allowed values include: Fatal, Error, Warning, Information and Debug.

LogLevelOverrides
Array of Namespace and LogLevel pairs, overridding the default minimum severity within namespace.

  • Namespace The namespace.
  • LogLevel the log-level override for the namespace.

Eventing Section

Default values listed.

"Eventing": {
    "Host": null,
    "VHost": null,
    "Port": 5672,
    "Username": null,
    "Password": null,
    "UseSsl": false,
    "Timeout": 30,
    "Heartbeat": 60,
    "PrefetchCount": 50,
    "UseHealthCheck": true,
    "UnhealthyStatus": "Unhealthy"
}

Host
The url or ipaddress of the eventing host.

VHost
The virtual host, if any.

Username
The username.

Password
The password.

Port
The port number.

UseSsl
Whether to use ssl when connecting to the eventing provider.

Timeout
The connection timeout.

Heartbeat
The number of seconds between application sending heartbeat to eventing provider.
A value of zero means disabled.

PrefecthCount
The prefetch count for the channel.

UseHealthCheck
Enables the health check of the data provider.

UnhealthyStatus
The health check status when unhealthy. Default: Unhealthy. Allowed Values. Unhealthy, Degraded.


Storage Section

Default values listed.

  "Storage": {
    "AccountName": null,
    "AccountKey": null,
    "ShareName": null,
    "EnableHealthCheck": true,
    "UnhealthyStatus": "Unhealthy"
  },

AccountName
The account name of the cloud storage account. Can also be the username. For some providers this can even be null.

AccountKey
The account key of the cloud storage account. Can also be the password. For some providers this can even be null.

ShareName
The name for the file-share.

UseHealthCheck
Enables the health check of the data provider.

UnhealthyStatus
The health check status when unhealthy. Default: Unhealthy. Allowed Values. Unhealthy, Degraded.


Api Sections

Default values listed.

"MyApi": {
    "Host": "localhost",
    "Root": "api",
    "Port": 80,
    "UseSsl": false,
    "UseExposeErrors": false,
    "UseHealthCheck": true,
    "UnhealthyStatus": "Degraded"
    "LogIn": {
        "Username": "admin",
        "Password": "abc12|+d34DadD"
}

Host
The url or ipaddress of the api host.

Root
The root path of api routing. http://0.0.0.0/{root}/.

Port
The port that the api is configured to listen and respond to.

UseSsl
Whether to use http or https.

UseExposeErrors
Whether exceptions and error messages should be exposed to the caller.

UseHealthCheck
Enables the health check of the data provider.

UnhealthyStatus
The health check status when unhealthy. Default: Unhealthy. Allowed Values. Unhealthy, Degraded.

LogIn

  • Username The username for login to the api.
  • Password The password for login to the api.

Clone this wiki locally