Auth redirection support

This commit is contained in:
Bastien Wirtz 2020-07-13 09:16:47 -07:00
parent 6de53c49b3
commit 0ae40f78f8

View File

@ -150,7 +150,13 @@ export default {
}, },
created: async function () { created: async function () {
const defaults = jsyaml.load(defaultConfig); const defaults = jsyaml.load(defaultConfig);
let config = await this.getConfig(); let config;
try {
config = await this.getConfig();
} catch (error) {
console.log(error);
config = this.handleErrors("⚠️ Error loading configuration", error);
}
this.config = merge(defaults, config); this.config = merge(defaults, config);
this.services = this.config.services; this.services = this.config.services;
document.title = `${this.config.title} | ${this.config.subtitle}`; document.title = `${this.config.title} | ${this.config.subtitle}`;
@ -158,8 +164,13 @@ export default {
methods: { methods: {
getConfig: function (path = "assets/config.yml") { getConfig: function (path = "assets/config.yml") {
return fetch(path).then((response) => { return fetch(path).then((response) => {
if (response.redirected) {
// This allows to work with authentication proxies.
window.location.href = response.url;
return;
}
if (!response.ok) { if (!response.ok) {
throw Error(response.statusText); throw Error(`${response.statusText}: ${response.body}`);
} }
const that = this; const that = this;
@ -173,9 +184,6 @@ export default {
return that.getConfig(config.externalConfig); return that.getConfig(config.externalConfig);
} }
return config; return config;
})
.catch((error) => {
return this.handleErrors("⚠️ Error loading configuration", error);
}); });
}); });
}, },