Can set authorized authentication providers for a given account
This commit is contained in:
		@@ -126,6 +126,8 @@
 | 
			
		||||
    <!-- Authorized authentication sources -->
 | 
			
		||||
    <fieldset class="form-group">
 | 
			
		||||
        <legend class="mt-4">Authorized authentication sources</legend>
 | 
			
		||||
 | 
			
		||||
        <!-- Local login -->
 | 
			
		||||
        <div class="form-check">
 | 
			
		||||
            <input class="form-check-input" type="checkbox" name="allow_local_login" id="allow_local_login"
 | 
			
		||||
                   {% if u.allow_local_login %} checked="" {% endif %}>
 | 
			
		||||
@@ -133,6 +135,20 @@
 | 
			
		||||
                Allow local login
 | 
			
		||||
            </label>
 | 
			
		||||
        </div>
 | 
			
		||||
 | 
			
		||||
        <!-- Provider -->
 | 
			
		||||
        <input type="hidden" name="authorized_sources" id="authorized_sources"/>
 | 
			
		||||
        {% for prov in providers %}
 | 
			
		||||
        <div class="form-check">
 | 
			
		||||
            <input class="form-check-input authorized_provider" type="checkbox" name="prov-{{ prov.id.0 }}"
 | 
			
		||||
                   id="prov-{{ prov.id.0 }}"
 | 
			
		||||
                   data-id="{{ prov.id.0 }}"
 | 
			
		||||
                   {% if u.can_login_from_provider(prov) %} checked="" {% endif %}>
 | 
			
		||||
            <label class="form-check-label" for="prov-{{ prov.id.0 }}">
 | 
			
		||||
                Allow login from {{ prov.name }}
 | 
			
		||||
            </label>
 | 
			
		||||
        </div>
 | 
			
		||||
        {% endfor %}
 | 
			
		||||
    </fieldset>
 | 
			
		||||
 | 
			
		||||
    <!-- Granted clients -->
 | 
			
		||||
@@ -233,6 +249,13 @@
 | 
			
		||||
    form.addEventListener("submit", (ev) => {
 | 
			
		||||
        ev.preventDefault();
 | 
			
		||||
 | 
			
		||||
        const authorized_sources = [...document.querySelectorAll(".authorized_provider")]
 | 
			
		||||
            .filter(e => e.checked)
 | 
			
		||||
            .map(e => e.getAttribute("data-id")).join(",")
 | 
			
		||||
 | 
			
		||||
        document.querySelector("input[name=authorized_sources]").value = authorized_sources;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        const authorized_clients = [...document.querySelectorAll(".authorize_client_checkbox")]
 | 
			
		||||
            .filter(e => e.checked)
 | 
			
		||||
            .map(e => e.getAttribute("data-id")).join(",")
 | 
			
		||||
@@ -250,6 +273,8 @@
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
{% endblock content %}
 | 
			
		||||
		Reference in New Issue
	
	Block a user