🗃️ Adds keycloak properties to schema and docs

This commit is contained in:
Alicia Sykes 2021-08-21 22:44:46 +01:00
parent 75ec158f85
commit 44af607f35
2 changed files with 44 additions and 0 deletions

View File

@ -87,8 +87,12 @@ To disallow any changes from being written to disk via the UI config editor, set
**Field** | **Type** | **Required**| **Description** **Field** | **Type** | **Required**| **Description**
--- | --- | --- | --- --- | --- | --- | ---
**`users`** | `array` | _Optional_ | An array of objects containing usernames and hashed passwords. If this is not provided, then authentication will be off by default, and you will not need any credentials to access the app. See [`appConfig.auth.users`](#appconfigauthusers-optional). <br>**Note** this method of authentication is handled on the client side, so for security critical situations, it is recommended to use an [alternate authentication method](/docs/authentication.md#alternative-authentication-methods). **`users`** | `array` | _Optional_ | An array of objects containing usernames and hashed passwords. If this is not provided, then authentication will be off by default, and you will not need any credentials to access the app. See [`appConfig.auth.users`](#appconfigauthusers-optional). <br>**Note** this method of authentication is handled on the client side, so for security critical situations, it is recommended to use an [alternate authentication method](/docs/authentication.md#alternative-authentication-methods).
**`enableKeycloak`** | `object` | _Optional_ | If set to `true`, then authentication using Keycloak will be anabled. Note that you need to have an instance running, and have also configured `auth.keycloak`. Defaults to `false`
**`keycloak`** | `boolean` | _Optional_ | Config options to point Dashy to your Keycloak server. Requires `enableKeycloak: true`. See [`auth.keycloak`](#appconfigauthkeycloak-optional) for more info
**`enableGuestAccess`** | `boolean` | _Optional_ | When set to `true`, an unauthenticated user will be able to access the dashboard, with read-only access, without having to login. Requires `auth.users` to be configured. Defaults to `false`. **`enableGuestAccess`** | `boolean` | _Optional_ | When set to `true`, an unauthenticated user will be able to access the dashboard, with read-only access, without having to login. Requires `auth.users` to be configured. Defaults to `false`.
For more info, see the **[Authentication Docs](/docs/authentication.md)**
**[⬆️ Back to Top](#configuring)** **[⬆️ Back to Top](#configuring)**
### `appConfig.auth.users` _(optional)_ ### `appConfig.auth.users` _(optional)_
@ -101,6 +105,17 @@ To disallow any changes from being written to disk via the UI config editor, set
**[⬆️ Back to Top](#configuring)** **[⬆️ Back to Top](#configuring)**
### `appConfig.auth.keycloak` _(optional)_
**Field** | **Type** | **Required**| **Description**
--- | --- | --- | ---
**`serverUrl`** | `string` | Required | The URL (or URL/ IP + Port) where your keycloak server is running
**`realm`** | `string` | Required | The name of the realm (must already be created) that you want to use
**`clientId`** | `string` | Required | The Client ID of the client you created for use with Dashy
**[⬆️ Back to Top](#configuring)**
### `appConfig.hideComponents` _(optional)_ ### `appConfig.hideComponents` _(optional)_
**Field** | **Type** | **Required**| **Description** **Field** | **Type** | **Required**| **Description**

View File

@ -257,6 +257,35 @@
} }
} }
} }
},
"enableKeycloak": {
"type": "boolean",
"default": false,
"description": "If set to true, and auth.keycloak is also configured, then Keycloak will be used for app auth"
},
"keycloak": {
"type": "object",
"description": "Configuration for Keycloak server",
"additionalProperties": false,
"required": [
"serverUrl",
"realm",
"clientId"
],
"properties": {
"serverUrl": {
"type": "string",
"description": "The URL (or URL/ IP + Port) where your keycloak server is running"
},
"realm": {
"type": "string",
"description": "The name of the realm (must already be created) that you want to use"
},
"clientId": {
"type": "string",
"description": "The Client ID of the client you created for use with Dashy"
}
}
} }
} }
}, },