diff --git a/gui/app/components/customize/auth-settings.js b/gui/app/components/customize/auth-settings.js index 43676426..4edc1024 100644 --- a/gui/app/components/customize/auth-settings.js +++ b/gui/app/components/customize/auth-settings.js @@ -10,16 +10,14 @@ // https://documize.com import { equal, empty } from '@ember/object/computed'; - import { set } from '@ember/object'; import { copy } from '@ember/object/internals'; import { inject as service } from '@ember/service'; import Component from '@ember/component'; import constants from '../../utils/constants'; import encoding from '../../utils/encoding'; -import NotifierMixin from "../../mixins/notifier"; -export default Component.extend(NotifierMixin, { +export default Component.extend({ appMeta: service(), isDocumizeProvider: equal('authProvider', constants.AuthProvider.Documize), isKeycloakProvider: equal('authProvider', constants.AuthProvider.Keycloak), @@ -29,7 +27,7 @@ export default Component.extend(NotifierMixin, { KeycloakPublicKeyError: empty('keycloakConfig.publicKey'), KeycloakAdminUserError: empty('keycloakConfig.adminUser'), KeycloakAdminPasswordError: empty('keycloakConfig.adminPassword'), - keycloakConfig: { + keycloakConfig: { url: '', realm: '', clientId: '', @@ -128,7 +126,7 @@ export default Component.extend(NotifierMixin, { set(config, 'publicKey', encoding.Base64.encode(this.get('keycloakConfig.publicKey'))); break; } - + let data = { authProvider: provider, authConfig: JSON.stringify(config) }; this.get('onSave')(data).then(() => { @@ -138,18 +136,15 @@ export default Component.extend(NotifierMixin, { this.showNotification(response.message); data.authProvider = constants.AuthProvider.Documize; this.get('onSave')(data).then(() => { - this.showNotification('Reverted back to Documize'); }); } else { if (data.authProvider === this.get('appMeta.authProvider')) { - this.showNotification(response.message); + // this.showNotification(response.message); } else { this.get('onChange')(data); } } }); - } else { - this.showNotification('Saved'); } }); } diff --git a/gui/app/templates/components/customize/auth-settings.hbs b/gui/app/templates/components/customize/auth-settings.hbs index 6008a359..58933313 100644 --- a/gui/app/templates/components/customize/auth-settings.hbs +++ b/gui/app/templates/components/customize/auth-settings.hbs @@ -1,76 +1,98 @@ -
-
-
-
-
Authentication
-
Determine the method for user authentication
-
-
- -
External authentication servers, services must be accessible from the server running this Documize instance
- {{#ui/ui-radio selected=isDocumizeProvider onClick=(action 'onDocumize')}}Documize — email/password{{/ui/ui-radio}} - {{#ui/ui-radio selected=isKeycloakProvider onClick=(action 'onKeycloak')}}Keycloak — bring your own authentication server{{/ui/ui-radio}} -
- - {{#if isKeycloakProvider}} -
-
Keycloak Configuration
-
Connection parameters — create a documize user in Master realm with 'manage-users' role against target realm
-
-
- -
e.g. http://localhost:8888/auth
- {{focus-input id="keycloak-url" type="text" value=keycloakConfig.url class=(if KeycloakUrlError 'error')}} -
-
- -
e.g. main
- {{input id="keycloak-realm" type="text" value=keycloakConfig.realm class=(if keycloakRealmError 'error')}} -
-
- -
Copy the RSA Public Key from Realm Settings → Keys
- {{textarea id="keycloak-publicKey" type="text" value=keycloakConfig.publicKey rows=7 class=(if KeycloakPublicKeyError 'error')}} -
-
- -
e.g. account
- {{input id="keycloak-clientId" type="text" value=keycloakConfig.clientId class=(if KeycloakClientIdError 'error')}} -
-
- -
If you want to sync users in a particular Group (e.g. 'Documize Users'), provide the Group ID (e.g. 511d8b61-1ec8-45f6-bc8d-5de64d54c9d2)
- {{input id="keycloak-group" type="text" value=keycloakConfig.group}} -
-
- -
Used to connect with Keycloak and sync users with Documize (create user under Master Realm and assign 'view-users' role against Realm specified above)
- {{input id="keycloak-admin-user" type="text" value=keycloakConfig.adminUser class=(if KeycloakAdminUserError 'error')}} -
-
- -
Used to connect with Keycloak and sync users with Documize
- {{input id="keycloak-admin-password" type="password" value=keycloakConfig.adminPassword class=(if KeycloakAdminPasswordError 'error')}} -
-
- -
Hide the logout button for Keycloak users
-
- {{input type="checkbox" checked=keycloakConfig.disableLogout}} - -
-
-
- -
Determine if Keycloak sync'ed users permission to add new spaces
-
- {{input type="checkbox" checked=keycloakConfig.defaultPermissionAddSpace}} - -
-
- {{/if}} - -
save
-
+
+
+
+

Authentication

+

Choose user authentication mechanism

+
-
\ No newline at end of file +
+ +
+ +
+ +
+ +
+ {{#ui/ui-radio selected=isDocumizeProvider onClick=(action 'onDocumize')}} Documize — email/password{{/ui/ui-radio}} + {{#ui/ui-radio selected=isKeycloakProvider onClick=(action 'onKeycloak')}} Keycloak — bring your own authentication server{{/ui/ui-radio}} + + External authentication servers, services must be accessible from the server running this Documize instance + +
+
+ + {{#if isKeycloakProvider}} +
+ +
+ {{focus-input id="keycloak-url" type="text" value=keycloakConfig.url class=(if KeycloakUrlError 'form-control is-invalid' 'form-control')}} + e.g. http://localhost:8888/auth +
+
+
+ +
+ {{input id="keycloak-realm" type="text" value=keycloakConfig.realm class=(if keycloakRealmError 'form-control is-invalid' 'form-control')}} + e.g. main +
+
+
+ +
+ {{textarea id="keycloak-publicKey" type="text" value=keycloakConfig.publicKey rows=7 class=(if KeycloakPublicKeyError 'form-control is-invalid' 'form-control')}} + Copy the RSA Public Key from Realm Settings → Keys +
+
+
+ +
+ {{input id="keycloak-clientId" type="text" value=keycloakConfig.clientId class=(if KeycloakClientIdError 'form-control is-invalid' 'form-control')}} + e.g. account +
+
+
+ +
+ {{input id="keycloak-group" type="text" value=keycloakConfig.group class="form-control"}} + If you want to sync users in a particular Group (e.g. 'Documize Users'), provide the Group ID (e.g. 511d8b61-1ec8-45f6-bc8d-5de64d54c9d2) +
+
+
+ +
+ {{input id="keycloak-admin-user" type="text" value=keycloakConfig.adminUser class=(if KeycloakAdminUserError 'form-control is-invalid' 'form-control')}} + Used to connect with Keycloak and sync users with Documize (create user under Master Realm and assign 'view-users' role against Realm specified above) +
+
+
+ +
+ {{input id="keycloak-admin-password" type="password" value=keycloakConfig.adminPassword class=(if KeycloakAdminPasswordError 'form-control is-invalid' 'form-control')}} + Used to connect with Keycloak and sync users with Documize +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ {{/if}} + +
Save
+
+ +