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:
parent
f28b7497fa
commit
8d3dfcc3c7
72 changed files with 5039 additions and 3548 deletions
|
@ -36,6 +36,7 @@ export default Component.extend(Notifier, {
|
|||
|
||||
init() {
|
||||
this._super(...arguments);
|
||||
|
||||
this.keycloakConfig = {
|
||||
url: '',
|
||||
realm: '',
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
});
|
||||
|
|
|
@ -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);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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('');
|
||||
});
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue