From 36cf9f5631356608801ee71aaf37185a48496a3b Mon Sep 17 00:00:00 2001 From: Valentin CZERYBA Date: Mon, 2 Jan 2023 23:08:16 +0100 Subject: [PATCH] add function base for profile resources --- .../covas/Resources/ProfileRessources.java | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 src/main/java/com/covas/Resources/ProfileRessources.java diff --git a/src/main/java/com/covas/Resources/ProfileRessources.java b/src/main/java/com/covas/Resources/ProfileRessources.java new file mode 100644 index 0000000..7a5c970 --- /dev/null +++ b/src/main/java/com/covas/Resources/ProfileRessources.java @@ -0,0 +1,49 @@ +package com.covas.Resources; + + +import javax.ws.rs.Produces; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.Response; +import javax.ws.rs.core.SecurityContext; +import org.eclipse.microprofile.jwt.JsonWebToken; +import java.nio.charset.StandardCharsets; + +import org.postgresql.shaded.com.ongres.scram.common.bouncycastle.base64.Base64; + +import javax.inject.Inject; +import com.covas.Entity.UsersEntity; +import javax.ws.rs.Path; + + + +@Produces(MediaType.APPLICATION_JSON) +@Path("profile") +public class ProfileRessources { + + @Inject + JsonWebToken jwt; + + /// Function + private Boolean checkUserCookie(String userCookie, UsersEntity users) { + if ((userCookie == null) || (users == null)) { + return false; + } + String name = new String(Base64.decode(userCookie), StandardCharsets.UTF_8); + if (!name.equals(users.pseudo) && (users.status != 1)) { + return false; + } + return true; + } + + private Response.Status getResponseCheck(SecurityContext ctx, String userCookie, UsersEntity users) { + if (!ctx.getUserPrincipal().getName().equals(jwt.getName())) { + return Response.Status.INTERNAL_SERVER_ERROR; + } + if (!checkUserCookie(userCookie, users)) { + return Response.Status.FORBIDDEN; + } + return Response.Status.OK; + } + + +} \ No newline at end of file