Merge commit '44d7dfe2675560ea5163a653b9331daf32405219' into sqlite
This commit is contained in:
@@ -178,6 +178,7 @@ public abstract class PathHandler implements HttpHandler {
|
|||||||
if (o instanceof List<?> list) o = new JSONArray(list);
|
if (o instanceof List<?> list) o = new JSONArray(list);
|
||||||
if (o instanceof Map<?, ?> map) o = new JSONObject(map);
|
if (o instanceof Map<?, ?> map) o = new JSONObject(map);
|
||||||
if (o instanceof Error<?> error) o = error.json();
|
if (o instanceof Error<?> error) o = error.json();
|
||||||
|
if (o instanceof JSONObject) ex.getResponseHeaders().add(CONTENT_TYPE, JSON);
|
||||||
return sendContent(ex, status, o.toString().getBytes(UTF_8));
|
return sendContent(ex, status, o.toString().getBytes(UTF_8));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,6 @@ import jakarta.mail.*;
|
|||||||
import jakarta.mail.internet.*;
|
import jakarta.mail.internet.*;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.time.Duration;
|
import java.time.Duration;
|
||||||
import java.util.Comparator;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ public class FileStore implements AuthorizationService, ClientService, SessionSe
|
|||||||
client.remove(scope);
|
client.remove(scope);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (client.isEmpty()) clients.remove(clientId);
|
// if (client.isEmpty()) clients.remove(clientId); // keep client as mark for ClientController.dash
|
||||||
}
|
}
|
||||||
if (clients.isEmpty()) authorizations.remove(userId);
|
if (clients.isEmpty()) authorizations.remove(userId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,32 +11,22 @@
|
|||||||
<body>
|
<body>
|
||||||
<nav></nav>
|
<nav></nav>
|
||||||
<div id="content" style="display: none">
|
<div id="content" style="display: none">
|
||||||
Eine vertrauende Seite, <span id="rp">unknown</span>, hat Zugriff auf die folgenden Informationen erfragt:
|
<p>Eine vertrauende Seite, <span id="rp">unbekannt</span>, hat Zugriff auf die folgenden Informationen erfragt:</p>
|
||||||
<ul id="scopes">
|
<ul id="scopes">
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
Stimmen Sie zu, diese Informationen mit <span id="rp2">unknown</span> zu teilen?
|
<p>Stimmen Sie zu, diese Informationen mit <span id="rp2">unbekannt</span> zu teilen?</p>
|
||||||
<button type="button" onclick="grantAutorization(1)">Ja - für einen Tag</button>
|
<button type="button" onclick="grantAutorization(1)">Ja - für einen Tag</button>
|
||||||
<button type="button" onclick="grantAutorization(7)">Ja - für eine Woche</button>
|
<button type="button" onclick="grantAutorization(7)">Ja - für eine Woche</button>
|
||||||
<button type="button" onclick="grantAutorization(30)">Ja - für einen Monat</button>
|
<button type="button" onclick="grantAutorization(30)">Ja - für einen Monat</button>
|
||||||
<button type="button" onclick="grantAutorization(365)">Ja - für ein Jahr</button>
|
<button type="button" onclick="grantAutorization(365)">Ja - für ein Jahr</button>
|
||||||
<button type="button" onclick="denyAutorization()">No</button>
|
<button type="button" onclick="denyAutorization()">Nein</button>
|
||||||
</div>
|
</div>
|
||||||
<div id="error_missing_parameter" class="error" style="display: none">
|
<div class="error" style="display: none" id="error_missing_parameter">Request enthält den benötigten Parameter "<span id="parameter"></span>" nicht!</div>
|
||||||
Request enthält den benötigten Parameter "<span id="parameter"></span>" nicht!
|
<div class="error" style="display: none" id="error_unknown_client">Client "<span id="client_id"></span>" ist dem Backend nicht bekannt!</div>
|
||||||
</div>
|
<div class="error" style="display: none" id="error_unsupported_response_type">Rückgabe-Typ "<span id="response_type"></span>" wird nicht unterstützt!</div>
|
||||||
<div id="error_unknown_client" class="error" style="display: none">
|
<div class="error" style="display: none" id="error_missing_code">Fehlender Rückgabe-Typ: code</div>
|
||||||
Client "<span id="client_id"></span>" ist dem Backend nicht bekannt!
|
<div class="error" style="display: none" id="error_invalid_redirect">Ungültige Umleitung: <span id="redirect_uri"></span></div>
|
||||||
</div>
|
<div class="error" style="display: none" id="missing_scopes">Authorisierungs-Quelle lieferte weder eine Liste von <em>nicht-autorisierten Scopes</em> noch eine Liste von <em>authorisierten Scopes</em>! Das ist ein Server-Fehler.</div>
|
||||||
<div id="error_unsupported_response_type" class="error" style="display: none">
|
|
||||||
Rückgabe-Typ "<span id="response_type"></span>" wird nicht unterstützt!
|
|
||||||
</div>
|
|
||||||
<div id="error_missing_code" class="error">
|
|
||||||
Fehlender Rückgabe-Typ: code
|
|
||||||
</div>
|
|
||||||
<div id="error_invalid_redirect" class="error" style="display: none">
|
|
||||||
Ungültige Umleitung: <span id="redirect_uri"></span>
|
|
||||||
</div>
|
|
||||||
<div id="missing_scopes" class="error" style="display: none">Authorisierungs-Quelle lieferte weder eine Liste von <em>nicht-autorisierten Scopes</em> noch eine Liste von <em>authorisierten Scopes</em>! Das ist ein Server-Fehler.</div>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
<li>Ihre Email-Adresse</li>
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
<li>Ihre OpenID – damit wirst du bei der vertrauenden Website identifiziert</li>
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
<li>Zugriff auf Ihren Klar-Namen</li>
|
||||||
@@ -22,21 +22,11 @@
|
|||||||
<button type="button" onclick="grantAutorization(365)">Yes - for 1 year</button>
|
<button type="button" onclick="grantAutorization(365)">Yes - for 1 year</button>
|
||||||
<button type="button" onclick="denyAutorization()">No</button>
|
<button type="button" onclick="denyAutorization()">No</button>
|
||||||
</div>
|
</div>
|
||||||
<div id="error_missing_parameter" class="error" style="display: none">
|
<div class="error" style="display: none" id="error_missing_parameter">Request does not contain required parameter "<span id="parameter"></span>"!</div>
|
||||||
Request does not contain required parameter "<span id="parameter"></span>"!
|
<div class="error" style="display: none" id="error_unknown_client">Client "<span id="client_id"></span>" unknown to backend!</div>
|
||||||
</div>
|
<div class="error" style="display: none" id="error_unsupported_response_type">Response type "<span id="response_type"></span>" not supported!</div>
|
||||||
<div id="error_unknown_client" class="error" style="display: none">
|
<div class="error" style="display: none" id="error_missing_code">Missing response type: code</div>
|
||||||
Client "<span id="client_id"></span>" unknown to backend!
|
<div class="error" style="display: none" id="error_invalid_redirect">invalid redirect: <span id="redirect_uri"></span></div>
|
||||||
</div>
|
<div class="error" style="display: none" id="missing_scopes">Authorization resource contained neither list of <em>unauthorized scopes</em> nor list of <em>authorized scopes</em>! This is a server problem.</div>
|
||||||
<div id="error_unsupported_response_type" class="error" style="display: none">
|
|
||||||
Response type "<span id="response_type"></span>" not supported!
|
|
||||||
</div>
|
|
||||||
<div id="error_missing_code" class="error">
|
|
||||||
Missing response type: code
|
|
||||||
</div>
|
|
||||||
<div id="error_invalid_redirect" class="error" style="display: none">
|
|
||||||
invalid redirect: <span id="redirect_uri"></span>
|
|
||||||
</div>
|
|
||||||
<div id="missing_scopes" class="error" style="display: none">Authorization resource contained neither list of <em>unauthorized scopes</em> nor list of <em>authorized scopes</em>! This is a server problem.</div>
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
<li>Access your display name</li>
|
||||||
@@ -28,7 +28,7 @@ function handleClients(response){
|
|||||||
}
|
}
|
||||||
|
|
||||||
function link(url){
|
function link(url){
|
||||||
return url ? '<a href="'+url+'">'+url.split('?')[0]+'</a>': "";
|
return url ? '<a href="'+url+'" target="_blank">'+url.split('?')[0]+'</a>': "";
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleRemove(response){
|
function handleRemove(response){
|
||||||
|
|||||||
@@ -13,8 +13,9 @@
|
|||||||
<div id="content">
|
<div id="content">
|
||||||
<h1>to do…</h1>
|
<h1>to do…</h1>
|
||||||
<ul>
|
<ul>
|
||||||
<li>implement token refresh</li>
|
<li>implement token refresh</li>
|
||||||
<li>Configuration im Frontend</li>
|
<li>Configuration im Frontend</li>
|
||||||
|
<li>TOTP authentifizierung</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
Reference in New Issue
Block a user