Skip to content

Simplon-Java-Toulouse/Security2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

DEPLOY SECURE APPS (part two)

center

Lundi

Retour alternance

Veille sur les outils de dev du navigateur

Monday Algo live coding

Ecrire un prog java qui doit, pour un tableau contenant X nombres donné, retourner la somme des 2 plus grands nombres présent dans ce tableau. Exemple: avec le tableau [78, 6, -250, 2, 12, 9], le résultat sera 90

De retour sur l'application de gestion des taches : MISE EN OEUVRE DE LA PARTIE FRONT

Même si la partie front n'est pas très importante ici, il est recommandé de réaliser la maquette de l'application avant de commencer

L'application dipose donc d'un menu ou 2 boutons/actions :

- ouverture de la page d'authentification (page d'acceuil)

- liste des taches accessible au niveau du back une fois connecté (token en local storage)

Par défaut, l'appli affiche le composant d'authentification avec 2 possibilitées :

- Un bouton login après saisie id + pwd

- Un bouton pour enregistrer un nouvel utilisateur

60.1 Créer une application Angular avec votre Ide préféré

60.2 Installer Bootstrap3 dans le projet

60.3 Installer Jwt dans le projet

60.4 Ajouter un composant login pour l'authentification

60.5 Ajouter un composant task pour afficher la liste des taches

60.6 Ajouter un composant nouvelle tache pour rajouter une tache (uniquement pour les administrateurs)

60.7 Ajouter un composant pour enregistrer un nouvel utilisateur

60.8 Ajouter les routes associées à ces composants

60.9 Sur la page d'accueil, ajouter 2 boutons qui ouvrent les composants login et tasks

Mardi

Veille sur le protocole Http

61.1 Réaliser un formulaire d'authentification sur le composant login

61.2 Ajouter un service dédié à l'authentification servant à vérifier côté back si un user a des droits

61.3 Côté back, autoriser les requetes provenant d'autre domaine

61.4 Côté back, trouver un moyen d'authoriser l'accès au token envoyé sur le front, vérifier !

61.5 Côté front, une fois autorisé, stocker le token dans le local storage puis afficher la liste des taches

61.6 Trouver une solution en cas de token expiré ou malveillant

Mercredi

Veille sur comment tester les failles de sécurité d'une api/appli

62.1 Ajouter un bouton dans la liste des taches permettant uniquement aux administrateurs d'ajouter des nouvelles taches

-> Attention ici, le bouton ne doit pas s'afficher pour les utilisateurs

-> Gérer aussi le cas ou un utilisateur tente d'accéder à l'url d'une nouvelle tache sans être admin

-> Tester tous les cas de figures pour empêcher toutes les utilisations malveillantes de l'appli

-> Veiller à ce que l'enchainement des fenêtres soit logique et cohérent, se connecter revient à avoir accès aux taches et inversement

-> Trouver toujours des moyens pour limiter les accès au serveur, le faire que lorsque c'est indispensable

62.2 S'agissant de l'ajout d'une tache, faites en sorte d'imposer une saisie et ne sauvegarder que dans ce cas

Retour sur Heroku

63.1 Il s'agit ici de mettre votre back sur heroku puis de tester avec votre appli front

63.2 Effectuer tous les tests de sécurité de votre api

63.3 Challenger les autres développeurs en les invitant à tenter de hacker votre api

63.4 Mettez en ligne votre appli front et refaite des tests de sécurité

64.1 Ajouter les fonctionnalités liées à un nouvel utilisateur puis tester le tout

Bonus : refaite de même avec une autre appli(Banquaire, E-commerce, Réservation hotels)

Jeudi

Veille OpenId Connect & Auth0

Reprenez l'api de gestion des entreprises puis utiliser Keyclock pour gérer les accès sécurisés

65.1 Nous travaillons en local aussi, basculer le sgbd vers H2

65.2 Installer Keyclock puis lancer le serveur

65.3 Ajouter un Realm "simplon"

65.4 Ajouter une dépendances keyclock(dernière version stable) + spring security

65.5 Ajouter une classe de configuration spring pour la gestion de la sécurité basée sur keycloak

65.6 Enfin, ne permettez l'accès à votre api qu'aux utilisateurs authentifiés/autorisés

65.7 Configurer le fichier application.properties en conséquence

65.8 Dans la console de keycloak, déclarer l'application (add-client...)

65.9 Ajouter un utilisateur avec password puis TESTER LE TOUT

Vous pouvez continuer à bidouiller l'outil qui permet la gestion de nombreuses fonctionnalités

-> mot de pass oublié, se rappeler de moi, nouvel utilisateur...

center

Bonus : refaite de même avec une autre appli(Banquaire, E-commerce, Réservation hotels)

Vendredi

Veille sur l'adaptabilité en entreprise/équipe

Terminer tous les travaux de la semaine et les envoyer sur github puis transferer à vos tuteurs(rices) et formateur avec les comptes rendus

Dossier professionnel

Dossier projet

RESSOURCES

tuto angular app

Authentication with JWT Tutorial

Decode JSON Web Tokens (JWT) in Angular — onthecode

Angular Security - Authentication With JWT: The Complete Guide

Getting Started Guide Keyclock

Tuto Spring boot app with keycloak

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors