diff --git a/src/main/java/fr/titionfire/ffsaf/rest/AuthEndpoints.java b/src/main/java/fr/titionfire/ffsaf/rest/AuthEndpoints.java index a3ca9c3..aa52756 100644 --- a/src/main/java/fr/titionfire/ffsaf/rest/AuthEndpoints.java +++ b/src/main/java/fr/titionfire/ffsaf/rest/AuthEndpoints.java @@ -13,7 +13,7 @@ import org.eclipse.microprofile.config.inject.ConfigProperty; import java.net.URI; import java.net.URISyntaxException; -@Path("/auth") +@Path("api/auth") public class AuthEndpoints { @ConfigProperty(name = "login_redirect") diff --git a/src/main/java/fr/titionfire/ffsaf/rest/ClubEndpoints.java b/src/main/java/fr/titionfire/ffsaf/rest/ClubEndpoints.java index df648a9..966f954 100644 --- a/src/main/java/fr/titionfire/ffsaf/rest/ClubEndpoints.java +++ b/src/main/java/fr/titionfire/ffsaf/rest/ClubEndpoints.java @@ -12,7 +12,7 @@ import jakarta.ws.rs.core.MediaType; import java.util.List; -@Path("/club") +@Path("api/club") public class ClubEndpoints { @Inject diff --git a/src/main/java/fr/titionfire/ffsaf/rest/CombEndpoints.java b/src/main/java/fr/titionfire/ffsaf/rest/CombEndpoints.java index ed30c5e..c1f2689 100644 --- a/src/main/java/fr/titionfire/ffsaf/rest/CombEndpoints.java +++ b/src/main/java/fr/titionfire/ffsaf/rest/CombEndpoints.java @@ -26,7 +26,7 @@ import java.util.List; import java.util.concurrent.CompletableFuture; import java.util.concurrent.Future; -@Path("/member") +@Path("api/member") public class CombEndpoints { @Inject diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 0d62253..3d42376 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -21,15 +21,29 @@ quarkus.oidc.auth-server-url=https://auth.safca.fr/auth/realms/safca quarkus.oidc.client-id=backend quarkus.oidc.credentials.secret=secret quarkus.oidc.tls.verification=required -#quarkus.oidc.tls.verification=none +quarkus.oidc.application-type=web-app +quarkus.oidc.roles.source=accesstoken quarkus.http.limits.max-body-size=10M -quarkus.oidc.token-state-manager.split-tokens=true - database.prefix = test2_ database.database=ffsaf database.hostname=localhost database.port=3306 database.user=root -database.pass= \ No newline at end of file +database.pass= + +#Login +quarkus.oidc.token-state-manager.split-tokens=true + +quarkus.oidc.authentication.redirect-path=/api/auth/login +quarkus.oidc.logout.path=/api/logout +quarkus.oidc.logout.post-logout-path=/index.html + +# Only the authenticated users can initiate a logout: +quarkus.http.auth.permission.authenticated.paths=api/logout,api/auth/login +quarkus.http.auth.permission.authenticated.policy=authenticated + +# All users can see the welcome page: +quarkus.http.auth.permission.public.paths=/index.html +quarkus.http.auth.permission.public.policy=permit \ No newline at end of file diff --git a/src/main/webapp/src/App.jsx b/src/main/webapp/src/App.jsx index 8903e52..a8c8f61 100644 --- a/src/main/webapp/src/App.jsx +++ b/src/main/webapp/src/App.jsx @@ -7,7 +7,6 @@ import {AdminRoot, getAdminChildren} from "./pages/admin/AdminRoot.jsx"; import {AuthCallback} from "./components/auhCallback.jsx"; import {KeycloakContextProvider, useAuthDispatch} from "./hooks/useAuth.jsx"; import {check_validity} from "./utils/auth.js"; -import {MemberList} from "./pages/admin/MemberList.jsx"; const router = createBrowserRouter([ { diff --git a/src/main/webapp/src/components/ClubSelect.jsx b/src/main/webapp/src/components/ClubSelect.jsx index 3ba6a19..667639e 100644 --- a/src/main/webapp/src/components/ClubSelect.jsx +++ b/src/main/webapp/src/components/ClubSelect.jsx @@ -2,8 +2,6 @@ import {LoadingContextProvider, useLoadingSwitcher} from "../hooks/useLoading.js import {useFetch} from "../hooks/useFetch.js"; import {AxiosError} from "./AxiosError.jsx"; -const api_url = import.meta.env.VITE_API_URL; - export function ClubSelect({defaultValue, name}) { return
@@ -14,7 +12,7 @@ export function ClubSelect({defaultValue, name}) { function ClubSelect_({defaultValue, name}) { const setLoading = useLoadingSwitcher() - const {data, error} = useFetch(`${api_url}/club/no_detail`, setLoading, 1) + const {data, error} = useFetch(`/club/no_detail`, setLoading, 1) return <> {data diff --git a/src/main/webapp/src/components/Nav.jsx b/src/main/webapp/src/components/Nav.jsx index 6f83f62..d5eb0c9 100644 --- a/src/main/webapp/src/components/Nav.jsx +++ b/src/main/webapp/src/components/Nav.jsx @@ -1,10 +1,9 @@ import LogoIcon from '../assets/FFSSAF-bord-blanc-fond-transparent.webp' import './Nav.css' import {NavLink} from "react-router-dom"; -import {useAuth, useAuthDispatch} from "../hooks/useAuth.jsx"; +import {useAuth} from "../hooks/useAuth.jsx"; import {login, logout} from "../utils/auth.js"; - export function Nav() { return