mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-01-28 08:03:36 +00:00
- Allow setting registration verification to token based registration verification. - Configure the server with registration secret. Use the registration secret to register an admin account for FreedomBox's use. Store the access token provided during registration for future use. - Use Admin API and the access token to create a registration verification token. Show list of all registration tokens on app page. Tests: - On a fresh installation, setup succeeds, public registration is disabled. Enabling public registration sets verification to be disabled by default. Registration tokens are not shown in status. - Without the patch, install the app and enable public registration. Apply the patches. After update registration verification will show as disabled. - Setting verification method to registration token works. freedombox-registration-secret.yaml file is created. This file has 0o600 permissions and is owned by matrix-synapse:nogroup. freedombox-admin-access-token.txt file is created. This file has 0o600 permissions and is owned by root:root. List of registration tokens are shown in status section. Registration with Element app works with the token listed. - Disabling registration verification works. Registration tokens are not shown in status section. Registration with Element app works without verification. - Disable app. Try to update the verification configuration to use tokens. An error should be thrown that configuration can't be updated when app is disabled. Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org> Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
89 lines
2.7 KiB
HTML
89 lines
2.7 KiB
HTML
{% extends "app.html" %}
|
|
{% comment %}
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
{% endcomment %}
|
|
|
|
{% load i18n %}
|
|
{% load static %}
|
|
|
|
{% block status %}
|
|
{{ block.super }}
|
|
|
|
<h3>{% trans "Status" %}</h3>
|
|
|
|
<p>
|
|
{% blocktrans trimmed %}
|
|
The Matrix server domain is set to <em>{{ domain_name }}</em>. User IDs
|
|
will look like <em>@username:{{ domain_name }}</em>. Changing the domain
|
|
name after the initial setup is currently not supported.
|
|
{% endblocktrans %}
|
|
</p>
|
|
<p>
|
|
{% blocktrans trimmed %}
|
|
New users can be registered from any client if public registration is
|
|
enabled.
|
|
{% endblocktrans %}
|
|
</p>
|
|
{% if config.public_registration and config.registration_verification == 'token' and registration_tokens %}
|
|
<p>
|
|
{% blocktrans trimmed %}
|
|
New users must use one of the following tokens for verification during
|
|
account registration:
|
|
{% endblocktrans %}
|
|
</p>
|
|
<div class="table-responsive table-registration-tokens">
|
|
<table class="table">
|
|
<thead>
|
|
<tr>
|
|
<th>{% trans "Registration Token" %}</th>
|
|
<th>{% trans "Uses Allowed" %}</th>
|
|
<th>{% trans "Pending Registrations" %}</th>
|
|
<th>{% trans "Completed Registrations" %}</th>
|
|
<th>{% trans "Expiry Time" %}</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for token in registration_tokens %}
|
|
<tr>
|
|
<td>{{ token.token }}</td>
|
|
<td>
|
|
{% if token.uses_allowed is None %}
|
|
{% trans "Unlimited" %}
|
|
{% else %}
|
|
{{ token.uses_allowed }}
|
|
{% endif %}
|
|
</td>
|
|
<td>{{ token.pending }}</td>
|
|
<td>{{ token.completed }}</td>
|
|
<td>
|
|
{% if token.expiry_time %}
|
|
{{ token.expiry_time|date:"DATETIME_FORMAT" }}
|
|
{% else %}
|
|
{% trans "None" %}
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
{% endif %}
|
|
|
|
{% if certificate_status != "valid" %}
|
|
<div class="alert alert-warning" role="alert">
|
|
{% url 'letsencrypt:index' as letsencrypt_url %}
|
|
{% blocktrans trimmed %}
|
|
The configured domain name is using a self-signed certificate.
|
|
Federation with other Matrix Synapse instances requires a valid TLS
|
|
certificate. Please go to <a href="{{ letsencrypt_url }}">Let's
|
|
Encrypt</a> to obtain one.
|
|
{% endblocktrans %}
|
|
</div>
|
|
{% endif %}
|
|
{% endblock %}
|
|
|
|
{% block page_js %}
|
|
<script type="text/javascript"
|
|
src="{% static 'matrixsynapse/matrixsynapse.js' %}"></script>
|
|
{% endblock %}
|