Compare commits

...

5 commits

2 changed files with 39 additions and 27 deletions

View file

@ -780,7 +780,8 @@ expressMiddleware(server, {
token,
new TextEncoder().encode(process.env.SECRET_KEY),
);
console.log('Token verified:', verify.payload); // Log du payload du token
// Log du payload du token
console.log('Token verified:', verify.payload);
user = await new UserService().findUserByEmail(
verify.payload.email,
);
@ -816,8 +817,9 @@ export const customAuthChecker: AuthChecker<MyContext> = (
roles
) => {
if (context.user) {
//si l 'utilisateur est connecté
//vérifier que le user à le role demandé si le tableau de roles à une longueur > 1
// si l 'utilisateur est connecté
// vérifier que le user a le role demandé
// si le tableau de roles a une longueur > 1
if (roles.length > 0) { // si un role est indiqué au décorateur
//et que le user a le role parmi ce tableau
if (roles.includes(context.user.role)) {
@ -1317,7 +1319,12 @@ import styles from '../components/MainNav/MainNav.module.css';
function CategoryButton({name, id}: {name: string, id: string}) {
return (
<div>
<Button className={styles.categoryButton} variant="contained" href={`/categories/${id}`} style={{width: 285}}>{name}</Button>
<Button
className={styles.categoryButton}
variant="contained"
href={`/categories/${id}`}
style={{width: 285}}
>{name}</Button>
</div>
);
}
@ -1906,7 +1913,10 @@ Ensuite, nous avons mis en place l'environnement serveur requis pour le déploie
healthcheck:
test:
- CMD-SHELL
- "curl -f http://backend:4000/graphql?query=%7B__typename%7D -H 'Apollo-Require-Preflight: true' || exit 1"
- >
curl -f http://backend:4000/graphql?query=%7B__typename%7D
-H 'Apollo-Require-Preflight: true'
|| exit 1
interval: 10s
timeout: 30s
retries: 5
@ -1996,7 +2006,8 @@ Ensuite, nous avons mis en place l'environnement serveur requis pour le déploie
# Caddyfile
1123-jaune-1.wns.wilders.dev {
# Redirect request to production running on port 8000 reverse_proxy localhost:8000
# Redirect request to production running on port 8000
reverse_proxy localhost:8000
# log
log {
@ -2005,7 +2016,8 @@ Ensuite, nous avons mis en place l'environnement serveur requis pour le déploie
}
staging.1123-jaune-1.wns.wilders.dev {
# Redirect request to staging running on port 8001 reverse_proxy localhost:8001
# Redirect request to staging running on port 8001
reverse_proxy localhost:8001
# log
log {
@ -2014,7 +2026,8 @@ Ensuite, nous avons mis en place l'environnement serveur requis pour le déploie
}
ops.1123-jaune-1.wns.wilders.dev {
# Redirect request to webhook service running on port 9000 reverse_proxy localhost:9000
# Redirect request to webhook service running on port 9000
reverse_proxy localhost:9000
# log
log {
output file /var/log/caddy/ops.log
@ -2022,9 +2035,9 @@ Ensuite, nous avons mis en place l'environnement serveur requis pour le déploie
}
```
```javascript
// webhook.conf
[
```javascript
// webhook.conf
[
{
"id": "update-staging",
"execute-command": "/home/wns_student/apps/oros/staging/fetch-and-deploy.sh",
@ -2035,8 +2048,9 @@ Ensuite, nous avons mis en place l'environnement serveur requis pour le déploie
"execute-command": "/home/wns_student/apps/oros/prod/fetch-and-deploy.sh",
"command-working-directory": "/home/wns_student/apps/oros/prod/"
}
]
```
]
```
\newpage
# Securité de l’application
@ -2072,8 +2086,6 @@ La securité d’une application est extrêmement importante. On ne peut pas pen
* Security Headers : Middleware peut ajouter des security headers HTTP aux réponse, ce qui donne une couche additionnelle de sécurité contre les attaques.
* Gestion des Sessions : Middleware peut gérer les cookies de session secures et implemente les mesures comme expiration des cookies et secure flags pour protéder les données de session.
\newpage
# Annexe (diagramme de classe)
![](images/class diagram.jpg){height=99%}
![](images/class diagram.jpg){height=95%}