Skip to content
Snippets Groups Projects
Commit b179dca3 authored by Adrien Fryson's avatar Adrien Fryson
Browse files

doc, authentification cookies, fixes

parent 51f2d7a9
Branches
No related tags found
No related merge requests found
Showing
with 136 additions and 39 deletions
MCD.png 0 → 100644
MCD.png

57.4 KiB

...@@ -2,11 +2,28 @@ ...@@ -2,11 +2,28 @@
## Description Générale ## Description Générale
CampusTalk est une application WEB de réseau social permettant aux utilisateurs de créer des fils de discussion, d'y poster des messages textuels, et de lire les messages des autres abonnés au même fil. L'application est développée en JEE (jakarta) avec une architecture MVC, et elle est conçue pour être responsive, fonctionnant aussi bien sur ordinateur que sur smartphone. CampusTalk est une application web qui permet aux utilisateurs de créer et de participer à des fils de discussion, pour partager des informations et collaborer sur divers sujets. Tous les fils sont ouverts à tous les utilisateurs pour favoriser la transparence et l'inclusion, où chacun peut librement contribuer, apprendre et s'engager dans des conversations.
Fonctionnalités Clés :
Création de Fils de Discussion : Les utilisateurs peuvent créer des discussions sur des sujets variés, allant des projets académiques aux événements sociaux.
Publication de Messages : Possibilité de publier des messages textuels et d'y joindre des images pour enrichir les échanges.
Abonnement aux Fils : Les utilisateurs peuvent s'abonner à des fils spécifiques pour recevoir des notifications sur les nouvelles publications.
Interactions Sociales : Fonctionnalités de "like" pour exprimer son appréciation des messages et encourager les contributions positives.
Gestion des Utilisateurs : Inscription, authentification et gestion des paramètres de compte pour une expérience utilisateur personnalisée.
Technologies Utilisées :
Jakarta EE
JSP (JavaServer Pages)
Base de Données Relationnelle
TailwindCSS
CampusTalk est conçue pour être accessible et intuitive, avec une interface responsive qui s'adapte à tous les types d'appareils, garantissant ainsi une expérience utilisateur fluide sur ordinateur comme sur smartphone. En mettant l'accent sur la simplicité et l'efficacité.
## MCD ## MCD
A FAIRE ![MCD](./MCD.png)
## MLD ## MLD
......
...@@ -13,10 +13,10 @@ import org.apache.commons.text.StringEscapeUtils; ...@@ -13,10 +13,10 @@ import org.apache.commons.text.StringEscapeUtils;
public class Accueil extends HttpServlet { public class Accueil extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
if (request.getSession(false) == null || request.getSession().getAttribute("email") == null) { if (!Auth.checkLog(request, response)) {
response.sendRedirect(request.getContextPath() + "/login");
return; return;
} }
HttpSession session = request.getSession(); HttpSession session = request.getSession();
String email = StringEscapeUtils.escapeHtml4((String) session.getAttribute("email")); String email = StringEscapeUtils.escapeHtml4((String) session.getAttribute("email"));
request.setAttribute("email", email); request.setAttribute("email", email);
......
package controleur;
import jakarta.servlet.http.Cookie;
import jakarta.servlet.http.HttpSession;
import modele.UtilisateurDao;
import java.io.IOException;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
public class Auth {
public static boolean checkLog(HttpServletRequest request, HttpServletResponse response) throws IOException {
HttpSession session = request.getSession(false);
if (session == null || session.getAttribute("email") == null) {
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (Cookie cookie : cookies) {
if ("token".equals(cookie.getName())) {
String token = cookie.getValue();
UtilisateurDao udao = new UtilisateurDao();
if (udao.check(token)) {
String email = udao.findEmailByToken(token);
session = request.getSession(true);
session.setAttribute("token", token);
session.setAttribute("email", email);
return true;
}
}
}
}
}
if (session == null || session.getAttribute("email") == null) {
response.sendRedirect(request.getContextPath() + "/login");
return false;
}
return true;
}
}
...@@ -28,8 +28,7 @@ public class CreerFil extends HttpServlet { ...@@ -28,8 +28,7 @@ public class CreerFil extends HttpServlet {
@Override @Override
protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
if (req.getSession(false) == null || req.getSession().getAttribute("email") == null) { if (!Auth.checkLog(req, res)) {
res.sendRedirect(req.getContextPath() + "/login");
return; return;
} }
req.getRequestDispatcher("/WEB-INF/vue/creerFil.jsp").forward(req, res); req.getRequestDispatcher("/WEB-INF/vue/creerFil.jsp").forward(req, res);
...@@ -37,13 +36,12 @@ public class CreerFil extends HttpServlet { ...@@ -37,13 +36,12 @@ public class CreerFil extends HttpServlet {
@Override @Override
protected void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException { protected void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {
if (req.getSession(false) == null || req.getSession().getAttribute("email") == null) { if (!Auth.checkLog(req, res)) {
res.sendRedirect(req.getContextPath() + "/login");
return; return;
} }
FilDeDiscussionDAO f = new FilDeDiscussionDAO(); FilDeDiscussionDAO f = new FilDeDiscussionDAO();
String nom = StringEscapeUtils.escapeHtml4(req.getParameter("nom")); String nom = StringEscapeUtils.escapeHtml4(req.getParameter("nom"));
String createuremail = StringEscapeUtils.escapeHtml4(req.getParameter("createuremail")); String createuremail = req.getSession().getAttribute("email").toString();
String description = StringEscapeUtils.escapeHtml4(req.getParameter("description")); String description = StringEscapeUtils.escapeHtml4(req.getParameter("description"));
UtilisateurDao udao = new UtilisateurDao(); UtilisateurDao udao = new UtilisateurDao();
if (!udao.emailExists(createuremail)) { if (!udao.emailExists(createuremail)) {
......
...@@ -13,8 +13,7 @@ import modele.FilDeDiscussionDAO; ...@@ -13,8 +13,7 @@ import modele.FilDeDiscussionDAO;
public class DeleteFil extends HttpServlet { public class DeleteFil extends HttpServlet {
public void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException { public void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {
if (req.getSession(false) == null || req.getSession().getAttribute("email") == null) { if (!Auth.checkLog(req, res)) {
res.sendRedirect(req.getContextPath() + "/login");
return; return;
} }
int id = Integer.parseInt(req.getParameter("id")); int id = Integer.parseInt(req.getParameter("id"));
......
...@@ -12,16 +12,14 @@ import modele.MessageDao; ...@@ -12,16 +12,14 @@ import modele.MessageDao;
@WebServlet("/deleteMessage") @WebServlet("/deleteMessage")
public class DeleteMessage extends HttpServlet { public class DeleteMessage extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException { public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {
if (req.getSession(false) == null || req.getSession().getAttribute("email") == null) { if (!Auth.checkLog(req, res)) {
res.sendRedirect(req.getContextPath() + "/login");
return; return;
} }
req.getRequestDispatcher("/WEB-INF/vue/listeFil.jsp").forward(req, res); req.getRequestDispatcher("/WEB-INF/vue/listeFil.jsp").forward(req, res);
} }
public void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException { public void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {
if (req.getSession(false) == null || req.getSession().getAttribute("email") == null) { if (!Auth.checkLog(req, res)) {
res.sendRedirect(req.getContextPath() + "/login");
return; return;
} }
String email = (String) req.getSession().getAttribute("email"); String email = (String) req.getSession().getAttribute("email");
......
...@@ -25,16 +25,14 @@ public class EnvoyerMessage extends HttpServlet { ...@@ -25,16 +25,14 @@ public class EnvoyerMessage extends HttpServlet {
private static final String UPLOAD_DIR = "uploads"; private static final String UPLOAD_DIR = "uploads";
public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException { public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {
if (req.getSession(false) == null || req.getSession().getAttribute("email") == null) { if (!Auth.checkLog(req, res)) {
res.sendRedirect(req.getContextPath() + "/login");
return; return;
} }
req.getRequestDispatcher("/WEB-INF/vue/listeFil.jsp").forward(req, res); req.getRequestDispatcher("/WEB-INF/vue/listeFil.jsp").forward(req, res);
} }
public void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException { public void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {
if (req.getSession(false) == null || req.getSession().getAttribute("email") == null) { if (!Auth.checkLog(req, res)) {
res.sendRedirect(req.getContextPath() + "/login");
return; return;
} }
String email = (String) req.getSession().getAttribute("email"); // je pense que ça ne sert a rien d'utiliser StringEscapeUtils.escapeHtml4 sur l'email qui est en session et qui est censé être safe vu qu'on verifie au moment ou on le met en session String email = (String) req.getSession().getAttribute("email"); // je pense que ça ne sert a rien d'utiliser StringEscapeUtils.escapeHtml4 sur l'email qui est en session et qui est censé être safe vu qu'on verifie au moment ou on le met en session
......
...@@ -11,8 +11,7 @@ import java.io.IOException; ...@@ -11,8 +11,7 @@ import java.io.IOException;
@WebServlet("/fil") @WebServlet("/fil")
public class Fil extends HttpServlet { public class Fil extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException { public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {
if (req.getSession(false) == null || req.getSession().getAttribute("email") == null) { if (!Auth.checkLog(req, res)) {
res.sendRedirect(req.getContextPath() + "/login");
return; return;
} }
int id = Integer.parseInt(req.getParameter("id")); int id = Integer.parseInt(req.getParameter("id"));
......
...@@ -29,8 +29,7 @@ import modele.MessageDao; ...@@ -29,8 +29,7 @@ import modele.MessageDao;
public class GetFils extends HttpServlet { public class GetFils extends HttpServlet {
@Override @Override
protected void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException { protected void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {
if (req.getSession(false) == null || req.getSession().getAttribute("email") == null) { if (!Auth.checkLog(req, res)) {
res.sendRedirect(req.getContextPath() + "/login");
return; return;
} }
......
...@@ -15,8 +15,7 @@ public class Like extends HttpServlet { ...@@ -15,8 +15,7 @@ public class Like extends HttpServlet {
@Override @Override
protected void service(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException { protected void service(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {
if (req.getSession(false) == null || req.getSession().getAttribute("email") == null) { if (!Auth.checkLog(req, res)) {
res.sendRedirect(req.getContextPath() + "/login");
return; return;
} }
......
...@@ -10,8 +10,7 @@ import java.io.IOException; ...@@ -10,8 +10,7 @@ import java.io.IOException;
@WebServlet("/listerFil") @WebServlet("/listerFil")
public class ListerFil extends HttpServlet { public class ListerFil extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException { public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {
if (req.getSession(false) == null || req.getSession().getAttribute("email") == null) { if (!Auth.checkLog(req, res)) {
res.sendRedirect(req.getContextPath() + "/login");
return; return;
} }
req.getRequestDispatcher("/WEB-INF/vue/listerFil.jsp").forward(req, res); req.getRequestDispatcher("/WEB-INF/vue/listerFil.jsp").forward(req, res);
......
...@@ -4,10 +4,12 @@ import jakarta.servlet.annotation.WebServlet; ...@@ -4,10 +4,12 @@ import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.Cookie;
import modele.UtilisateurDao; import modele.UtilisateurDao;
import jakarta.servlet.ServletException; import jakarta.servlet.ServletException;
import java.io.IOException; import java.io.IOException;
import org.apache.commons.text.StringEscapeUtils; import org.apache.commons.text.StringEscapeUtils;
import modele.GenerateToken;
@WebServlet("/login") @WebServlet("/login")
public class Login extends HttpServlet { public class Login extends HttpServlet {
...@@ -18,10 +20,17 @@ public class Login extends HttpServlet { ...@@ -18,10 +20,17 @@ public class Login extends HttpServlet {
public void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException { public void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {
String email = StringEscapeUtils.escapeHtml4(req.getParameter("email")); String email = StringEscapeUtils.escapeHtml4(req.getParameter("email"));
String motdepasse = StringEscapeUtils.escapeHtml4(req.getParameter("motdepasse")); String motdepasse = StringEscapeUtils.escapeHtml4(req.getParameter("motdepasse"));
String token = GenerateToken.generateToken(email, motdepasse);
UtilisateurDao udao = new UtilisateurDao(); UtilisateurDao udao = new UtilisateurDao();
if (udao.check(email, motdepasse)) { if (udao.check(token)) {
System.out.println("Connexion réussie"); System.out.println("Connexion réussie");
req.getSession().setAttribute("email", email); req.getSession().setAttribute("email", email);
if ("on".equals(req.getParameter("remember"))) {
Cookie cookie = new Cookie("token", token);
cookie.setMaxAge(60 * 60 * 24 * 30); // 30 jours
res.addCookie(cookie);
}
res.sendRedirect(req.getContextPath() + "/accueil"); res.sendRedirect(req.getContextPath() + "/accueil");
} else { } else {
System.out.println("Connexion échouée"); System.out.println("Connexion échouée");
......
...@@ -5,16 +5,26 @@ import jakarta.servlet.http.HttpServlet; ...@@ -5,16 +5,26 @@ import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpSession; import jakarta.servlet.http.HttpSession;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.Cookie;
import jakarta.servlet.ServletException; import jakarta.servlet.ServletException;
import java.io.IOException; import java.io.IOException;
@WebServlet("/logout") @WebServlet("/logout")
public class Logout extends HttpServlet { public class Logout extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException { public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {
if (!Auth.checkLog(req, res)) {
return;
}
HttpSession session = req.getSession(false); HttpSession session = req.getSession(false);
if (session != null) { if (session != null) {
session.invalidate(); session.invalidate();
} }
Cookie cookie = new Cookie("token", "");
cookie.setMaxAge(0);
res.addCookie(cookie);
res.sendRedirect(req.getContextPath() + "/login"); res.sendRedirect(req.getContextPath() + "/login");
} }
} }
...@@ -10,8 +10,7 @@ import java.io.IOException; ...@@ -10,8 +10,7 @@ import java.io.IOException;
@WebServlet("/menuFil") @WebServlet("/menuFil")
public class MenuFil extends HttpServlet { public class MenuFil extends HttpServlet {
public void service(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException { public void service(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {
if (req.getSession(false) == null || req.getSession().getAttribute("email") == null) { if (!Auth.checkLog(req, res)) {
res.sendRedirect(req.getContextPath() + "/login");
return; return;
} }
req.getRequestDispatcher("/WEB-INF/vue/menuFil.jsp").forward(req, res); req.getRequestDispatcher("/WEB-INF/vue/menuFil.jsp").forward(req, res);
......
...@@ -25,8 +25,7 @@ public class ModifierFil extends HttpServlet { ...@@ -25,8 +25,7 @@ public class ModifierFil extends HttpServlet {
@Override @Override
protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
if (req.getSession(false) == null || req.getSession().getAttribute("email") == null) { if (!Auth.checkLog(req, res)) {
res.sendRedirect(req.getContextPath() + "/login");
return; return;
} }
if (req.getSession().getAttribute("idFil") == null) { if (req.getSession().getAttribute("idFil") == null) {
......
...@@ -3,9 +3,11 @@ package controleur; ...@@ -3,9 +3,11 @@ package controleur;
import java.io.IOException; import java.io.IOException;
import jakarta.servlet.ServletException; import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.Cookie;
import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import modele.GenerateToken;
import modele.Utilisateur; import modele.Utilisateur;
import modele.UtilisateurDao; import modele.UtilisateurDao;
import org.apache.commons.text.StringEscapeUtils; import org.apache.commons.text.StringEscapeUtils;
...@@ -15,8 +17,7 @@ public class Parametre extends HttpServlet { ...@@ -15,8 +17,7 @@ public class Parametre extends HttpServlet {
@Override @Override
protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
if (req.getSession(false) == null || req.getSession().getAttribute("email") == null) { if (!Auth.checkLog(req, res)) {
res.sendRedirect(req.getContextPath() + "/login");
return; return;
} }
req.getRequestDispatcher("/WEB-INF/vue/parametre.jsp").forward(req, res); req.getRequestDispatcher("/WEB-INF/vue/parametre.jsp").forward(req, res);
...@@ -24,8 +25,7 @@ public class Parametre extends HttpServlet { ...@@ -24,8 +25,7 @@ public class Parametre extends HttpServlet {
@Override @Override
protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
if (req.getSession(false) == null || req.getSession().getAttribute("email") == null) { if (!Auth.checkLog(req, res)) {
res.sendRedirect(req.getContextPath() + "/login");
return; return;
} }
...@@ -50,6 +50,14 @@ public class Parametre extends HttpServlet { ...@@ -50,6 +50,14 @@ public class Parametre extends HttpServlet {
udao.update(utilisateur, email); udao.update(utilisateur, email);
req.getSession().setAttribute("email", newEmail); req.getSession().setAttribute("email", newEmail);
Cookie[] cookies = req.getCookies();
for (Cookie cookie : cookies) {
if (cookie.getName().equals("token")) {
cookie.setValue(GenerateToken.generateToken(newEmail, motdepasse));
res.addCookie(cookie);
break;
}
}
res.sendRedirect(req.getContextPath() + "/accueil"); res.sendRedirect(req.getContextPath() + "/accueil");
} }
} }
...@@ -5,11 +5,13 @@ import jakarta.servlet.annotation.WebServlet; ...@@ -5,11 +5,13 @@ import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.Cookie;
import jakarta.servlet.ServletException; import jakarta.servlet.ServletException;
import java.io.IOException; import java.io.IOException;
import modele.Utilisateur; import modele.Utilisateur;
import modele.UtilisateurDao; import modele.UtilisateurDao;
import org.apache.commons.text.StringEscapeUtils; import org.apache.commons.text.StringEscapeUtils;
import modele.GenerateToken;
@WebServlet("/register") @WebServlet("/register")
public class Register extends HttpServlet { public class Register extends HttpServlet {
...@@ -25,6 +27,8 @@ public class Register extends HttpServlet { ...@@ -25,6 +27,8 @@ public class Register extends HttpServlet {
String email = StringEscapeUtils.escapeHtml4(req.getParameter("email")); String email = StringEscapeUtils.escapeHtml4(req.getParameter("email"));
String motdepasse = StringEscapeUtils.escapeHtml4(req.getParameter("motdepasse")); String motdepasse = StringEscapeUtils.escapeHtml4(req.getParameter("motdepasse"));
String nom = StringEscapeUtils.escapeHtml4(req.getParameter("nom")); String nom = StringEscapeUtils.escapeHtml4(req.getParameter("nom"));
String token = GenerateToken.generateToken(email, motdepasse);
System.out.println(token);
if (udao.emailExists(email)) { if (udao.emailExists(email)) {
req.setAttribute("error", "L'email est déjà utilisé."); req.setAttribute("error", "L'email est déjà utilisé.");
req.getRequestDispatcher("/WEB-INF/vue/register.jsp").forward(req, res); req.getRequestDispatcher("/WEB-INF/vue/register.jsp").forward(req, res);
...@@ -33,9 +37,17 @@ public class Register extends HttpServlet { ...@@ -33,9 +37,17 @@ public class Register extends HttpServlet {
nom, nom,
email, email,
motdepasse, motdepasse,
LocalDateTime.now() LocalDateTime.now(),
token
)); ));
req.getSession().setAttribute("email", email); req.getSession().setAttribute("email", email);
if ("on".equals(req.getParameter("remember"))) {
Cookie cookie = new Cookie("token", token);
cookie.setMaxAge(60 * 60 * 24 * 30);
res.addCookie(cookie);
}
res.sendRedirect(req.getContextPath() + "/accueil"); res.sendRedirect(req.getContextPath() + "/accueil");
} }
} }
......
...@@ -11,8 +11,7 @@ import java.io.IOException; ...@@ -11,8 +11,7 @@ import java.io.IOException;
@WebServlet("/suivreFil") @WebServlet("/suivreFil")
public class SuivreFil extends HttpServlet { public class SuivreFil extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException { public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {
if (req.getSession(false) == null || req.getSession().getAttribute("email") == null) { if (!Auth.checkLog(req, res)) {
res.sendRedirect(req.getContextPath() + "/login");
return; return;
} }
int id = Integer.parseInt(req.getParameter("id")); int id = Integer.parseInt(req.getParameter("id"));
......
package modele;
import java.util.Base64;
public class GenerateToken {
public static String generateToken(String email, String password) {
String emailPwd = email + ":" + password;
String token = Base64.getEncoder().encodeToString(emailPwd.getBytes());
return token;
}
public static void main(String[] args) {
System.out.println("token :");
System.out.println(generateToken("utilisateur3@exemple.com", "motdepasse123"));
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment