2017-03-28 10:25:32 +01:00
<form class=>
2017-03-14 17:19:53 +00:00
<div class="form-header">
<div class="title">Authentication</div>
<div class="tip">Determine the method for user authentication</div>
</div>
<div class="input-control">
<label>Provider</label>
<div class="tip">External authentication servers, services must be accessible from the server running this Documize instance</div>
{{ # ui / ui-radio selected = isDocumizeProvider onClick = ( action 'onDocumize' ) }} Documize — email/password {{ / ui / ui-radio }}
2017-03-16 11:46:09 +00:00
{{ # ui / ui-radio selected = isKeycloakProvider onClick = ( action 'onKeycloak' ) }} Keycloak — bring your own authentication server {{ / ui / ui-radio }}
2017-03-14 17:19:53 +00:00
</div>
{{ # if isKeycloakProvider }}
2017-03-16 13:33:34 +00:00
<div class="form-header">
<div class="title">Keycloak Configuration</div>
2017-03-17 19:01:32 +00:00
<div class="tip">Connection parameters — create a documize user in Master realm with 'manage-users' role against target realm</div>
2017-03-16 13:33:34 +00:00
</div>
2017-03-14 17:19:53 +00:00
<div class="input-control">
2017-03-16 11:46:09 +00:00
<label>Keycloak Server URL</label>
<div class="tip">e.g. http://localhost:8888/auth</div>
{{ focus-input id = "keycloak-url" type = "text" value = keycloakConfig .url class = ( if KeycloakUrlError 'error' ) }}
</div>
<div class="input-control">
<label>Keycloak Realm</label>
<div class="tip">e.g. main</div>
{{ in put id = "keycloak-realm" type = "text" value = keycloakConfig .realm class = ( if keycloakRealmError 'error' ) }}
</div>
2017-03-28 10:25:32 +01:00
<div class="input-control">
<label>Keycloak Realm Public Key</label>
<div class="tip">Copy the RSA Public Key from Realm Settings → Keys</div>
{{ textarea id = "keycloak-publicKey" type = "text" value = keycloakConfig .publicKey rows = 7 class = ( if KeycloakPublicKeyError 'error' ) }}
</div>
2017-03-16 11:46:09 +00:00
<div class="input-control">
<label>Keycloak OIDC Client ID</label>
<div class="tip">e.g. account</div>
{{ in put id = "keycloak-clientId" type = "text" value = keycloakConfig .clientId class = ( if KeycloakClientIdError 'error' ) }}
2017-03-14 17:19:53 +00:00
</div>
2017-03-16 13:33:34 +00:00
<div class="input-control">
2017-03-28 10:25:32 +01:00
<label>Keycloak Group ID (Optional)</label>
<div class="tip">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)</div>
{{ in put id = "keycloak-group" type = "text" value = keycloakConfig .group }}
2017-03-16 13:33:34 +00:00
</div>
2017-03-17 19:01:32 +00:00
<div class="input-control">
<label>Keycloak Username</label>
2017-03-28 10:25:32 +01:00
<div class="tip">Used to connect with Keycloak and sync users with Documize (create user under Master Realm and assign 'view-users' role against Realm specified above)</div>
2017-03-17 19:01:32 +00:00
{{ in put id = "keycloak-admin-user" type = "text" value = keycloakConfig .adminUser class = ( if KeycloakAdminUserError 'error' ) }}
</div>
<div class="input-control">
<label>Keycloak Password</label>
<div class="tip">Used to connect with Keycloak and sync users with Documize</div>
{{ in put id = "keycloak-admin-password" type = "password" value = keycloakConfig .adminPassword class = ( if KeycloakAdminPasswordError 'error' ) }}
</div>
2017-04-16 14:56:00 +01:00
<div class="input-control">
<label>Disable Logout</label>
<div class="tip">Hide the logout button for Keycloak users</div>
<div class="checkbox">
{{ in put type = "checkbox" checked = keycloakConfig .disableLogout }}
<label for="allowAnonymousAccess">Do not show logout button</label>
</div>
</div>
<div class="input-control">
<label>Grant Add Space Permission</label>
<div class="tip">Determine if Keycloak sync'ed users permission to add new spaces</div>
<div class="checkbox">
{{ in put type = "checkbox" checked = keycloakConfig .defaultPermissionAddSpace }}
<label for="allowAnonymousAccess">Can add spaces</label>
</div>
</div>
2017-03-14 17:19:53 +00:00
{{ / if }}
<div class="regular-button button-blue" {{ action 'onSave' }} >save</div>
</form>