<filename>src/Server/BlazorBoilerplate.Server/appsettings.json<gh_stars>0
{
  "ConnectionStrings": {
    "PostgresConnection": "host=localhost;database=BlazorBoilerplate;user id=postgres;password=<PASSWORD>",
    "DefaultConnection": "Data Source=GREG-WIN10;Initial Catalog=BlazorBoilerplate;Integrated Security=True;MultipleActiveResultSets=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False"
  },

  "HostingOnAzure": {
    "RunsOnAzure": false,
    "RunningAsAppService": true,
    "RunningAsDocker": false, // not implementet yet
    "AzureKeyVault": {
      "UsingKeyVault": true,
      "UseManagedAppIdentity": true, // not implementet yet: assigning a managed identity to the app and giving that identity permissons to access contents of the key vault
      "AppKey": "", // not implementet yet: adding AppKey and AppSecret to the app. Then assigning permissions to these credentials inside the key vault
      "AppSecret": "",
      "VaultURI": "https://YOURVAULTNAMEHERE.vault.azure.net/",
      "CertificateName": "AuthSample"
    }
  },

  "ExternalAuthProviders": {
    "Google": {
      "Enabled": true,
      "ClientId": "xxx",
      "ClientSecret": "xxx"
    },
    "Facebook": {
      "Enabled": true,
      "AppId": "xxx",
      "AppSecret": "xxx"
    },
    "Twitter": {
      "Enabled": true,
      "ConsumerKey": "xxx",
      "ConsumerSecret": "xxx"
    },
    "Apple": {
      "Enabled": true,
      "ClientId": "xxx",
      "KeyId": "xxx",
      "TeamId": "xxx"
    },
    "Microsoft": {
      "Enabled": true,
      "ClientId": "xxx",
      "ClientSecret": "xxx"
    }
  },

  "BlazorBoilerplate": {
    "ApplicationUrl": "https://blazorboilerplate.com",
    "RequireConfirmedEmail": false,
    "API": {
      "Logging": {
        "Enabled": true,
        "IgnorePaths": [ "/api/account", "/api/admin", "/api/apilog" ]
      },
      "Doc": {
        "Enabled": true
      }
    },
    "UsePostgresServer": false,
    "IS4ApplicationUrl": "https://blazorboilerplate.com",
    "UseLocalCertStore": true,
    "CertificateThumbprint": "PutYourSSLThumbPrintHere"
  },

  "Modules": {
    "BlazorBoilerplate.GoogleAnalytics": {
      "TrackingId": "UA-XXXXXXXX-X"
    }
  },

  "Serilog": {
    "Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.File", "Serilog.Sinks.MSSQLServer" ],
    "Enrich": [ "FromLogContext", "WithMachineName", "WithProcessId", "WithThreadId" ],
    "MinimumLevel": {
      "Default": "Warning",
      "Override": {
        "Microsoft": "Warning",
        "System": "Warning"
      }
    },
    "WriteTo": [
      {
        // If you're not using mssql as a backend db either remove this section or just make sure that the target connection string is not blank
        // Does not throw exception if connection string is invalid, only if it doesn't exist
        "Name": "MSSqlServer", // see https://github.com/serilog/serilog-sinks-mssqlserver/blob/dev/README.md for additional config options
        "Args": {
          "connectionString": "DefaultConnection",
          "tableName": "Logs", // Table Defined in BlazorBoilerplate.Shared/DataModels/Logs.cs
          "autoCreateSqlTable": false,
          "restrictedToMinimumLevel": "Information"
        }
      },
      {
        "Name": "File",
        "Args": {
          "path": "Logs\\log-.log",
          "rollingInterval": "Day",
          "retainedFileCountLimit": 5
        }
      },
      {
        "Name": "File",
        "Args": {
          "RestrictedToMinimumLevel": "Warning",
          "path": "Logs\\log-warning-.log",
          "rollingInterval": "Day",
          "retainedFileCountLimit": 5
        }
      }
    ]
  },
  "AllowedHosts": "*"
}
