Podpora odhlášení přes Authelia
This commit is contained in:
parent
6b824ce33a
commit
d41e0e9113
@ -283,6 +283,7 @@ function App() {
|
|||||||
<li>Oprava časové zóny v "Poslední aktualizace"</li>
|
<li>Oprava časové zóny v "Poslední aktualizace"</li>
|
||||||
<li>Oprava přesměrování při přihlášení přes Authelia</li>
|
<li>Oprava přesměrování při přihlášení přes Authelia</li>
|
||||||
<li>Zobrazení jména uživatele místo loginu při přihlášení přes Authelia</li>
|
<li>Zobrazení jména uživatele místo loginu při přihlášení přes Authelia</li>
|
||||||
|
<li>Funkční odhlášení přes Authelia</li>
|
||||||
</ul>
|
</ul>
|
||||||
</Alert>
|
</Alert>
|
||||||
<h1 className='title'>Dnes je {data.date}</h1>
|
<h1 className='title'>Dnes je {data.date}</h1>
|
||||||
|
@ -46,8 +46,13 @@ function useProvideAuth(): AuthContextProps {
|
|||||||
}, [decodedToken]);
|
}, [decodedToken]);
|
||||||
|
|
||||||
function logout() {
|
function logout() {
|
||||||
|
const trusted = (decodedToken as any).trusted;
|
||||||
|
const logoutUrl = (decodedToken as any).logoutUrl;
|
||||||
setToken(null);
|
setToken(null);
|
||||||
setLoginName(undefined);
|
setLoginName(undefined);
|
||||||
|
if (trusted && logoutUrl?.length) {
|
||||||
|
window.location.replace(logoutUrl);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
# Secret pro podepisování JWT tokenů. Minimální délka 32 znaků.
|
# Secret pro podepisování JWT tokenů. Minimální délka 32 znaků.
|
||||||
# JWT_SECRET='CHANGE_ME'
|
# JWT_SECRET='CHANGE_ME'
|
||||||
|
|
||||||
|
# URL pro externí odhlášení, kam bude uživatel při odhlášení přesměrován pokud byl přihlášen pomocí Trusted Headers.
|
||||||
|
# LOGOUT_URL='https://auth.example.com/logout'
|
||||||
|
|
||||||
# Datové úložiště. Musí být 'json' nebo 'redis' (není case sensitive).
|
# Datové úložiště. Musí být 'json' nebo 'redis' (není case sensitive).
|
||||||
# json - Data jsou ukládána do JSON souboru. Pomalé (práce se souborem), ale vhodné pro vývoj (snadnější prohlížení dat).
|
# json - Data jsou ukládána do JSON souboru. Pomalé (práce se souborem), ale vhodné pro vývoj (snadnější prohlížení dat).
|
||||||
# redis - Data jsou ukládána v Redis serveru. Dle potřeby může být nutné upravit REDIS_ proměnné viz dále.
|
# redis - Data jsou ukládána v Redis serveru. Dle potřeby může být nutné upravit REDIS_ proměnné viz dále.
|
||||||
|
@ -17,7 +17,8 @@ export function generateToken(login?: string, trusted?: boolean): string {
|
|||||||
if (!login || login.trim().length === 0) {
|
if (!login || login.trim().length === 0) {
|
||||||
throw Error("Nebyl předán login");
|
throw Error("Nebyl předán login");
|
||||||
}
|
}
|
||||||
return jwt.sign({ login, trusted: trusted || false }, process.env.JWT_SECRET);
|
const payload = { login, trusted: trusted || false, logoutUrl: process.env.LOGOUT_URL };
|
||||||
|
return jwt.sign(payload, process.env.JWT_SECRET);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user