Support InteractiveAuth based registration
Passes in a function to make a register URL rather than just passing in the URL basepull/3333/head
parent
bb4d8ee3e8
commit
a8e99109b1
|
@ -1,5 +1,6 @@
|
||||||
/*
|
/*
|
||||||
Copyright 2015, 2016 OpenMarket Ltd
|
Copyright 2015, 2016 OpenMarket Ltd
|
||||||
|
Copyright 2017 Vector Creations Ltd
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
|
@ -147,16 +148,30 @@ var onNewScreen = function(screen) {
|
||||||
// If we're in electron, we should never pass through a file:// URL otherwise
|
// If we're in electron, we should never pass through a file:// URL otherwise
|
||||||
// the identity server will try to 302 the browser to it, which breaks horribly.
|
// the identity server will try to 302 the browser to it, which breaks horribly.
|
||||||
// so in that instance, hardcode to use riot.im/app for now instead.
|
// so in that instance, hardcode to use riot.im/app for now instead.
|
||||||
var makeRegistrationUrl = function() {
|
var makeRegistrationUrl = function(params) {
|
||||||
|
let url;
|
||||||
if (window.location.protocol === "file:") {
|
if (window.location.protocol === "file:") {
|
||||||
return 'https://riot.im/app/#/register';
|
url = 'https://riot.im/app/#/register';
|
||||||
|
} else {
|
||||||
|
url = (
|
||||||
|
window.location.protocol + '//' +
|
||||||
|
window.location.host +
|
||||||
|
window.location.pathname +
|
||||||
|
'#/register'
|
||||||
|
);
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return window.location.protocol + '//' +
|
const keys = Object.keys(params);
|
||||||
window.location.host +
|
for (let i = 0; i < keys.length; ++i) {
|
||||||
window.location.pathname +
|
if (i == 0) {
|
||||||
'#/register';
|
url += '?';
|
||||||
|
} else {
|
||||||
|
url += '&';
|
||||||
|
}
|
||||||
|
const k = keys[i];
|
||||||
|
url += k + '=' + encodeURIComponent(params[k]);
|
||||||
}
|
}
|
||||||
|
return url;
|
||||||
}
|
}
|
||||||
|
|
||||||
window.addEventListener('hashchange', onHashChange);
|
window.addEventListener('hashchange', onHashChange);
|
||||||
|
@ -258,7 +273,7 @@ async function loadApp() {
|
||||||
window.matrixChat = ReactDOM.render(
|
window.matrixChat = ReactDOM.render(
|
||||||
<MatrixChat
|
<MatrixChat
|
||||||
onNewScreen={onNewScreen}
|
onNewScreen={onNewScreen}
|
||||||
registrationUrl={makeRegistrationUrl()}
|
makeRegistrationUrl={makeRegistrationUrl}
|
||||||
ConferenceHandler={VectorConferenceHandler}
|
ConferenceHandler={VectorConferenceHandler}
|
||||||
config={configJson}
|
config={configJson}
|
||||||
realQueryParams={params}
|
realQueryParams={params}
|
||||||
|
|
Loading…
Reference in New Issue