Gültigkeitsdauer von Tokens editierbar gemacht

Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
This commit is contained in:
2024-10-31 23:49:49 +01:00
parent 44d7dfe267
commit 6ae33ac0fc
11 changed files with 86 additions and 21 deletions

View File

@@ -37,6 +37,14 @@
<th>Ziel-Seite</th>
<td><input type="text" id="landing-page" /></td>
</tr>
<tr>
<th>Gültigkeitsdauer von Access-Tokens</th>
<td>
<input type="range" id="token_validity" min="1" max="120" oninput="durationUpdate()" />
<br/>
<span id="days"></span> Tage, <span id="hours"></span> Stunden, <span id="minutes"></span> Minuten
</td>
</tr>
<tr>
<td></td>
<td><button type="button" id="button" onclick="updateClient();">Aktualisieren</button></td>

View File

@@ -37,10 +37,19 @@
<th>Landing page</th>
<td><input type="text" id="landing-page" /></td>
</tr>
<tr>
<th>Token validity duration</th>
<td>
<input type="range" id="token_validity" min="1" max="120" oninput="durationUpdate()" />
<br/>
<span id="days"></span> days, <span id="hours"></span> hours, <span id="minutes"></span> minutes
</td>
</tr>
<tr>
<td></td>
<td><button type="button" id="button" onclick="updateClient();">Update</button></td>
</tr>
</table>
</fieldset>
<fieldset class="wide">

View File

@@ -1,5 +1,22 @@
var params = new URLSearchParams(window.location.search);
var id = params.get('id');
var token_validity = 10;
function displayDuration(){
var mins = token_validity;
hrs = Math.floor(mins/60);
mins-=60*hrs;
days = Math.floor(hrs/24);
hrs-=24*days;
setText('days',days);
setText('hours',hrs);
setText('minutes',mins);
}
function durationUpdate(){
token_validity = getValue('token_validity');
displayDuration();
}
function handleAutoDiscover(response){
if (response.ok){
@@ -19,6 +36,8 @@ function handleLoadResponse(response){
get('client-secret').value = json.secret;
get('redirect-urls').value = json.redirect_uris.join("\n");
get('landing-page').value = json.landing_page?json.landing_page:'';
token_validity = json.token_validity?json.token_validity:10;
displayDuration();
});
}
}
@@ -44,7 +63,8 @@ function updateClient(){
name : getValue('client-name'),
secret : getValue('client-secret'),
redirect_uris : getValue('redirect-urls').split("\n"),
landing_page : getValue('landing-page')
landing_page : getValue('landing-page'),
token_validity : getValue('token_validity')
};
fetch(client_controller+'/update',{
method : 'POST',

View File

@@ -16,6 +16,8 @@
<li>implement token refresh</li>
<li>Configuration im Frontend</li>
<li>TOTP authentifizierung</li>
<li>Gültigkeitsdauer von Tokens pro Client konfigurierbar machen</li>
<li>Besserer Hinweis beim Zurücksetzen von Passworten, wenn das neue Passwort zu einfach ist</li>
</ul>
</div>
</body>