diff --git a/Back-end/src/main/java/com/example/starter/AuthHandler.java b/Back-end/src/main/java/com/example/starter/AuthHandler.java index 549be0e..cb0d0cd 100644 --- a/Back-end/src/main/java/com/example/starter/AuthHandler.java +++ b/Back-end/src/main/java/com/example/starter/AuthHandler.java @@ -77,7 +77,7 @@ public class AuthHandler { } databaseService.pool - .preparedQuery("SELECT password FROM users WHERE email = ?") + .preparedQuery("SELECT password,points FROM users WHERE email = ?") .execute(Tuple.of(email)) .onSuccess(result -> { if (result.rowCount() == 0) { @@ -88,10 +88,20 @@ public class AuthHandler { } String storedHashedPassword = result.iterator().next().getString("password"); + Integer nbPointsUser = result.iterator().next().getInteger("points"); + BCrypt.Result verification = BCrypt.verifyer().verify(password.toCharArray(), storedHashedPassword); if (verification.verified) { - JsonObject claims = new JsonObject().put("sub", email).put("role", "user"); + JsonObject claims = new JsonObject().put("sub", email); + if(nbPointsUser<=30){ + claims.put("role", "user"); + }else if(nbPointsUser<=60){ + claims.put("role", "complexe"); + }else if(nbPointsUser>=100){ + claims.put("role", "admin"); + } + String token = jwtAuth.generateToken(claims); context.response() .setStatusCode(200) diff --git a/Front-end/src/components/Header.jsx b/Front-end/src/components/Header.jsx index 4bb7148..d8d4c53 100644 --- a/Front-end/src/components/Header.jsx +++ b/Front-end/src/components/Header.jsx @@ -9,8 +9,8 @@ function Header() { return (
-
-

VigiMétéo

+
+ VigiMétéo