1
0
Fork 0
mirror of https://github.com/documize/community.git synced 2025-08-02 20:15:26 +02:00

[WIP] Basic LDAP connectivity

This commit is contained in:
sauls8t 2018-08-28 10:19:22 +01:00
parent f28b7497fa
commit 8d3dfcc3c7
72 changed files with 5039 additions and 3548 deletions

View file

@ -36,6 +36,7 @@ export default Component.extend(Notifier, {
init() {
this._super(...arguments);
this.keycloakConfig = {
url: '',
realm: '',

View file

@ -23,7 +23,8 @@ let constants = EmberObject.extend({
AuthProvider: { // eslint-disable-line ember/avoid-leaking-state-in-ember-objects
Documize: 'documize',
Keycloak: 'keycloak'
Keycloak: 'keycloak',
LDAP: 'ldap'
},
DocumentActionType: { // eslint-disable-line ember/avoid-leaking-state-in-ember-objects

View file

@ -16,6 +16,7 @@ export default Mixin.create({
appMeta: service(),
isAuthProviderDocumize: true,
IsAuthProviderKeycloak: false,
IsAuthProviderLDAP: false,
init() {
this._super(...arguments);
@ -23,5 +24,6 @@ export default Mixin.create({
this.set('isAuthProviderDocumize', this.get('appMeta.authProvider') === constants.AuthProvider.Documize);
this.set('isAuthProviderKeycloak', this.get('appMeta.authProvider') === constants.AuthProvider.Keycloak);
this.set('isAuthProviderLDAP', this.get('appMeta.authProvider') === constants.AuthProvider.LDAP);
}
});

View file

@ -11,8 +11,8 @@
import { Promise as EmberPromise } from 'rsvp';
import { inject as service } from '@ember/service';
import Controller from '@ember/controller';
import NotifierMixin from "../../../mixins/notifier";
import Controller from '@ember/controller';
export default Controller.extend(NotifierMixin, {
global: service(),
@ -34,7 +34,7 @@ export default Controller.extend(NotifierMixin, {
onSync() {
return new EmberPromise((resolve) => {
this.get('global').syncExternalUsers().then((response) => {
this.get('global').syncKeycloak().then((response) => {
resolve(response);
});
});

View file

@ -11,8 +11,8 @@
import { Promise as EmberPromise } from 'rsvp';
import { inject as service } from '@ember/service';
import Route from '@ember/routing/route';
import AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin';
import Route from '@ember/routing/route';
export default Route.extend(AuthenticatedRouteMixin, {
appMeta: service(),
@ -31,6 +31,18 @@ export default Route.extend(AuthenticatedRouteMixin, {
authConfig: null,
};
// TEST
// TEST
// TEST
// TEST
// TEST
this.get('global').syncLDAP().then(() => {});
// TEST
// TEST
// TEST
// TEST
// TEST
return new EmberPromise((resolve) => {
let constants = this.get('constants');
@ -39,6 +51,9 @@ export default Route.extend(AuthenticatedRouteMixin, {
case constants.AuthProvider.Keycloak:
data.authConfig = config;
break;
case constants.AuthProvider.LDAP:
data.authConfig = config;
break;
case constants.AuthProvider.Documize:
data.authConfig = '';
break;

View file

@ -59,7 +59,7 @@ export default Controller.extend({
onSync() {
this.set('syncInProgress', true);
this.get('globalSvc').syncExternalUsers().then(() => {
this.get('globalSvc').syncKeycloak().then(() => {
this.set('syncInProgress', false);
this.loadUsers('');
});

View file

@ -82,9 +82,21 @@ export default Service.extend({
}
},
syncExternalUsers() {
syncKeycloak() {
if(this.get('sessionService.isAdmin')) {
return this.get('ajax').request(`users/sync`, {
return this.get('ajax').request(`global/sync/keycloak`, {
method: 'GET'
}).then((response) => {
return response;
}).catch((error) => {
return error;
});
}
},
syncLDAP() {
if(this.get('sessionService.isAdmin')) {
return this.get('ajax').request(`global/sync/ldap`, {
method: 'GET'
}).then((response) => {
return response;