diff --git a/README.md b/README.md index b225940..6cc609a 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,17 @@ Личный кабинет мерчанта +## Настройка +Конфигурация приложения происходит в файле [appConfig.json](/app/appConfig.json) + +Конфигурация keycloak клиента koffing происходит в файле [koffingKeycloakConfig.json](/app/koffingKeycloakConfig.json) + +Конфигурация keycloak клиента tokenizer происходит в файле [tokenizationKeycloakConfig.json](/tokenization/tokenizationKeycloakConfig.json) + +Для изменения конфигурации в рантайме достаточно заменить нужный json файл + +Например в случае с nginx, json файлы нужно положить в `/usr/share/nginx/html` + ## Установка npm install diff --git a/app/appConfig.json b/app/appConfig.json new file mode 100644 index 0000000..7783bac --- /dev/null +++ b/app/appConfig.json @@ -0,0 +1,3 @@ +{ + "capiUrl": "http://localhost:9000/v1/" +} \ No newline at end of file diff --git a/app/bootstrap.js b/app/bootstrap.js index f142baa..93457b7 100644 --- a/app/bootstrap.js +++ b/app/bootstrap.js @@ -1,5 +1,5 @@ angular.element(document).ready(function () { - var keycloakAuth = new Keycloak('keycloak.json'); + var keycloakAuth = new Keycloak('koffingKeycloakConfig.json'); keycloakAuth.init({onLoad: 'login-required'}).success(function () { app.factory('Auth', function () { @@ -10,7 +10,9 @@ angular.element(document).ready(function () { updateToken: keycloakAuth.updateToken }; }); - angular.bootstrap(document, ['app']); + jQuery.get('appConfig.json').then(result => { //TODO write wrapper + app.constant('appConfig', result); + angular.bootstrap(document, ['app']); + }); }); - }); diff --git a/app/keycloak.json b/app/koffingKeycloakConfig.json similarity index 100% rename from app/keycloak.json rename to app/koffingKeycloakConfig.json diff --git a/gulpfile.js b/gulpfile.js index dbc6e76..b6545f0 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -113,8 +113,12 @@ gulp.task('tokenization', () => { .pipe(livereload()); }); -gulp.task('keycloak', () => { - return gulp.src('app/keycloak.json') +gulp.task('config', () => { + return gulp.src([ + 'app/appConfig.json', + 'app/koffingKeycloakConfig.json', + 'tokenization/tokenizationKeycloakConfig.json' + ]) .pipe(gulp.dest('dist')); }); @@ -149,5 +153,5 @@ gulp.task('capiMock', () => { }); }); -gulp.task('build', ['index', 'tokenization', 'sources', 'tokenizationSources', 'styles', 'vendorScripts', 'vendorStyles', 'keycloak']); +gulp.task('build', ['index', 'tokenization', 'sources', 'tokenizationSources', 'styles', 'vendorScripts', 'vendorStyles', 'config']); gulp.task('default', ['connect', 'watch', 'build']); diff --git a/tokenization/tokenization.js b/tokenization/tokenization.js index 44f83c8..b15a54c 100644 --- a/tokenization/tokenization.js +++ b/tokenization/tokenization.js @@ -25,11 +25,7 @@ tokenizer.component('tokenizer', { }); angular.element(document).ready(function () { - const keycloak = new Keycloak({ - url: 'http://localhost:31245/auth', - realm: 'external', - clientId: 'tokenizer' - }); + var keycloak = new Keycloak('tokenizationKeycloakConfig.json'); keycloak.init().success(authenticated => { if (!authenticated) { keycloak.login({ diff --git a/tokenization/tokenizationKeycloakConfig.json b/tokenization/tokenizationKeycloakConfig.json new file mode 100644 index 0000000..905f91c --- /dev/null +++ b/tokenization/tokenizationKeycloakConfig.json @@ -0,0 +1,5 @@ +{ + "realm": "external", + "auth-server-url": "http://localhost:31245/auth/", + "resource": "tokenizer" +}