fix authentication

This commit is contained in:
Matthias Hochmeister
2026-02-27 19:05:18 +01:00
parent 36ffe7e88e
commit 44e22a9fc6
2 changed files with 21 additions and 6 deletions

View File

@@ -11,15 +11,23 @@ interface AuthentikConfig {
logoutEndpoint: string;
}
// Authentik's shared endpoints live at /application/o/, not at the per-app issuer path.
// Issuer example: https://auth.example.com/application/o/myapp/
// Token endpoint: https://auth.example.com/application/o/token/
const issuerUrl = new URL(environment.authentik.issuer);
const pathParts = issuerUrl.pathname.split('/').filter(Boolean);
const basePath = '/' + pathParts.slice(0, -1).join('/') + '/';
const baseEndpoint = `${issuerUrl.origin}${basePath}`;
const authentikConfig: AuthentikConfig = {
issuer: environment.authentik.issuer,
clientId: environment.authentik.clientId,
clientSecret: environment.authentik.clientSecret,
redirectUri: environment.authentik.redirectUri,
tokenEndpoint: `${environment.authentik.issuer}token/`,
userInfoEndpoint: `${environment.authentik.issuer}userinfo/`,
authorizeEndpoint: `${environment.authentik.issuer}authorize/`,
logoutEndpoint: `${environment.authentik.issuer}logout/`,
tokenEndpoint: `${baseEndpoint}token/`,
userInfoEndpoint: `${baseEndpoint}userinfo/`,
authorizeEndpoint: `${baseEndpoint}authorize/`,
logoutEndpoint: `${baseEndpoint}end-session/`,
};
export default authentikConfig;