Remove registration fallback code. (#15405)
The registration fallback is broken and unspecced. This removes it since there is no plan to spec it. Note that this does not modify the login fallback code.pull/15091/merge
parent
edae20f926
commit
d751f65e71
|
@ -0,0 +1 @@
|
||||||
|
Remove the broken, unspecced registration fallback. Note that the *login* fallback is unaffected by this change.
|
|
@ -3,7 +3,11 @@
|
||||||
|
|
||||||
{% block header %}
|
{% block header %}
|
||||||
<script src="https://www.recaptcha.net/recaptcha/api.js" async defer></script>
|
<script src="https://www.recaptcha.net/recaptcha/api.js" async defer></script>
|
||||||
<link rel="stylesheet" href="/_matrix/static/client/register/style.css">
|
<style type="text/css">
|
||||||
|
.g-recaptcha div {
|
||||||
|
margin: auto;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
<script>
|
<script>
|
||||||
function captchaDone() {
|
function captchaDone() {
|
||||||
document.getElementById('registrationForm').submit();
|
document.getElementById('registrationForm').submit();
|
||||||
|
|
|
@ -1,12 +1,8 @@
|
||||||
{% extends "_base.html" %}
|
{% extends "_base.html" %}
|
||||||
{% block title %}Authentication{% endblock %}
|
{% block title %}Authentication{% endblock %}
|
||||||
|
|
||||||
{% block header %}
|
|
||||||
<link rel="stylesheet" href="/_matrix/static/client/register/style.css">
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block body %}
|
{% block body %}
|
||||||
<form id="registrationForm" method="post" action="{{ myurl }}">
|
<form method="post" action="{{ myurl }}">
|
||||||
<div>
|
<div>
|
||||||
{% if error is defined %}
|
{% if error is defined %}
|
||||||
<p class="error"><strong>Error: {{ error }}</strong></p>
|
<p class="error"><strong>Error: {{ error }}</strong></p>
|
||||||
|
|
|
@ -27,3 +27,7 @@ body {
|
||||||
h3 { font-size: .85rem; }
|
h3 { font-size: .85rem; }
|
||||||
h4 { font-size: .8rem; }
|
h4 { font-size: .8rem; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.error {
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
|
|
@ -2,7 +2,12 @@
|
||||||
{% block title %}Authentication{% endblock %}
|
{% block title %}Authentication{% endblock %}
|
||||||
|
|
||||||
{% block header %}
|
{% block header %}
|
||||||
<link rel="stylesheet" href="/_matrix/static/client/register/style.css">
|
<style type="text/css">
|
||||||
|
#registrationForm input {
|
||||||
|
display: block;
|
||||||
|
margin: auto;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block body %}
|
{% block body %}
|
||||||
|
|
|
@ -1,34 +0,0 @@
|
||||||
<!doctype html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title> Registration </title>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<link rel="stylesheet" href="style.css">
|
|
||||||
<script src="js/jquery-3.4.1.min.js"></script>
|
|
||||||
<script src="https://www.recaptcha.net/recaptcha/api/js/recaptcha_ajax.js"></script>
|
|
||||||
<script src="register_config.js"></script>
|
|
||||||
<script src="js/register.js"></script>
|
|
||||||
</head>
|
|
||||||
<body onload="matrixRegistration.onLoad()">
|
|
||||||
<form id="registrationForm" onsubmit="matrixRegistration.signUp(); return false;">
|
|
||||||
<div>
|
|
||||||
Create account:<br/>
|
|
||||||
|
|
||||||
<div style="text-align: center">
|
|
||||||
<input id="desired_user_id" size="32" type="text" placeholder="Matrix ID (e.g. bob)" autocapitalize="off" autocorrect="off" />
|
|
||||||
<br/>
|
|
||||||
<input id="pwd1" size="32" type="password" placeholder="Type a password"/>
|
|
||||||
<br/>
|
|
||||||
<input id="pwd2" size="32" type="password" placeholder="Confirm your password"/>
|
|
||||||
<br/>
|
|
||||||
<span id="feedback" style="color: #f00"></span>
|
|
||||||
<br/>
|
|
||||||
<div id="regcaptcha"></div>
|
|
||||||
|
|
||||||
<button type="submit" style="margin: 10px">Sign up</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
File diff suppressed because one or more lines are too long
|
@ -1,117 +0,0 @@
|
||||||
window.matrixRegistration = {
|
|
||||||
endpoint: location.origin + "/_matrix/client/api/v1/register"
|
|
||||||
};
|
|
||||||
|
|
||||||
var setupCaptcha = function() {
|
|
||||||
if (!window.matrixRegistrationConfig) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
$.get(matrixRegistration.endpoint, function(response) {
|
|
||||||
var serverExpectsCaptcha = false;
|
|
||||||
for (var i=0; i<response.flows.length; i++) {
|
|
||||||
var flow = response.flows[i];
|
|
||||||
if ("m.login.recaptcha" === flow.type) {
|
|
||||||
serverExpectsCaptcha = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!serverExpectsCaptcha) {
|
|
||||||
console.log("This server does not require a captcha.");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
console.log("Setting up ReCaptcha for "+matrixRegistration.endpoint);
|
|
||||||
var public_key = window.matrixRegistrationConfig.recaptcha_public_key;
|
|
||||||
if (public_key === undefined) {
|
|
||||||
console.error("No public key defined for captcha!");
|
|
||||||
setFeedbackString("Misconfigured captcha for server. Contact server admin.");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
Recaptcha.create(public_key,
|
|
||||||
"regcaptcha",
|
|
||||||
{
|
|
||||||
theme: "red",
|
|
||||||
callback: Recaptcha.focus_response_field
|
|
||||||
});
|
|
||||||
window.matrixRegistration.isUsingRecaptcha = true;
|
|
||||||
}).fail(errorFunc);
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
var submitCaptcha = function(user, pwd) {
|
|
||||||
var challengeToken = Recaptcha.get_challenge();
|
|
||||||
var captchaEntry = Recaptcha.get_response();
|
|
||||||
var data = {
|
|
||||||
type: "m.login.recaptcha",
|
|
||||||
challenge: challengeToken,
|
|
||||||
response: captchaEntry
|
|
||||||
};
|
|
||||||
console.log("Submitting captcha");
|
|
||||||
$.post(matrixRegistration.endpoint, JSON.stringify(data), function(response) {
|
|
||||||
console.log("Success -> "+JSON.stringify(response));
|
|
||||||
submitPassword(user, pwd, response.session);
|
|
||||||
}).fail(function(err) {
|
|
||||||
Recaptcha.reload();
|
|
||||||
errorFunc(err);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
var submitPassword = function(user, pwd, session) {
|
|
||||||
console.log("Registering...");
|
|
||||||
var data = {
|
|
||||||
type: "m.login.password",
|
|
||||||
user: user,
|
|
||||||
password: pwd,
|
|
||||||
session: session
|
|
||||||
};
|
|
||||||
$.post(matrixRegistration.endpoint, JSON.stringify(data), function(response) {
|
|
||||||
matrixRegistration.onRegistered(
|
|
||||||
response.home_server, response.user_id, response.access_token
|
|
||||||
);
|
|
||||||
}).fail(errorFunc);
|
|
||||||
};
|
|
||||||
|
|
||||||
var errorFunc = function(err) {
|
|
||||||
if (err.responseJSON && err.responseJSON.error) {
|
|
||||||
setFeedbackString(err.responseJSON.error + " (" + err.responseJSON.errcode + ")");
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
setFeedbackString("Request failed: " + err.status);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
var setFeedbackString = function(text) {
|
|
||||||
$("#feedback").text(text);
|
|
||||||
};
|
|
||||||
|
|
||||||
matrixRegistration.onLoad = function() {
|
|
||||||
setupCaptcha();
|
|
||||||
};
|
|
||||||
|
|
||||||
matrixRegistration.signUp = function() {
|
|
||||||
var user = $("#desired_user_id").val();
|
|
||||||
if (user.length == 0) {
|
|
||||||
setFeedbackString("Must specify a username.");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
var pwd1 = $("#pwd1").val();
|
|
||||||
var pwd2 = $("#pwd2").val();
|
|
||||||
if (pwd1.length < 6) {
|
|
||||||
setFeedbackString("Password: min. 6 characters.");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (pwd1 != pwd2) {
|
|
||||||
setFeedbackString("Passwords do not match.");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (window.matrixRegistration.isUsingRecaptcha) {
|
|
||||||
submitCaptcha(user, pwd1);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
submitPassword(user, pwd1);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
matrixRegistration.onRegistered = function(hs_url, user_id, access_token) {
|
|
||||||
// clobber this function
|
|
||||||
console.warn("onRegistered - This function should be replaced to proceed.");
|
|
||||||
};
|
|
|
@ -1,3 +0,0 @@
|
||||||
window.matrixRegistrationConfig = {
|
|
||||||
recaptcha_public_key: "YOUR_PUBLIC_KEY"
|
|
||||||
};
|
|
|
@ -1,64 +0,0 @@
|
||||||
html {
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
body {
|
|
||||||
height: 100%;
|
|
||||||
font-family: "Myriad Pro", "Myriad", Helvetica, Arial, sans-serif;
|
|
||||||
font-size: 12pt;
|
|
||||||
margin: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1 {
|
|
||||||
font-size: 20pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
a:link { color: #666; }
|
|
||||||
a:visited { color: #666; }
|
|
||||||
a:hover { color: #000; }
|
|
||||||
a:active { color: #000; }
|
|
||||||
|
|
||||||
input {
|
|
||||||
width: 100%
|
|
||||||
}
|
|
||||||
|
|
||||||
textarea, input {
|
|
||||||
font-family: inherit;
|
|
||||||
font-size: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
.smallPrint {
|
|
||||||
color: #888;
|
|
||||||
font-size: 9pt ! important;
|
|
||||||
font-style: italic ! important;
|
|
||||||
}
|
|
||||||
|
|
||||||
#recaptcha_area {
|
|
||||||
margin: auto
|
|
||||||
}
|
|
||||||
|
|
||||||
.g-recaptcha div {
|
|
||||||
margin: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
#registrationForm {
|
|
||||||
text-align: left;
|
|
||||||
padding: 5px;
|
|
||||||
margin-bottom: 40px;
|
|
||||||
display: inline-block;
|
|
||||||
|
|
||||||
-webkit-border-radius: 10px;
|
|
||||||
-moz-border-radius: 10px;
|
|
||||||
border-radius: 10px;
|
|
||||||
|
|
||||||
-webkit-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.15);
|
|
||||||
-moz-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.15);
|
|
||||||
box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.15);
|
|
||||||
|
|
||||||
background-color: #f8f8f8;
|
|
||||||
border: 1px #ccc solid;
|
|
||||||
}
|
|
||||||
|
|
||||||
.error {
|
|
||||||
color: red;
|
|
||||||
}
|
|
Loading…
Reference in New Issue