From 0ffc32b6214f28d3d86abcd8f62a737595e67f8a Mon Sep 17 00:00:00 2001 From: "daniel.carvalho2" <daniel.carvalho-rainho@etu.hesge.ch> Date: Wed, 19 Jan 2022 23:25:55 +0100 Subject: [PATCH] Continuation --- README.md | 15 ++++++++++++++- docker-compose.yml | 5 ++++- logs/nginx.pid | 1 + main.go | 8 ++++---- 4 files changed, 23 insertions(+), 6 deletions(-) create mode 100644 logs/nginx.pid diff --git a/README.md b/README.md index 9243a7a..bb7bb32 100644 --- a/README.md +++ b/README.md @@ -85,15 +85,28 @@ Installer POSTMAN, puis mettre toutes les infos nécessaires. API key, URL domain. Attention pour l'API key, vous devrez en générer une neuve. + J'utilise qui l'API que quelqu'un a trouvé (apparement il faut avoir les contacts pour réussir ce TP), + celle-ci contient 3 requêtes différentes, un GET des codes d'autorisation, un POST pour obtenir un code de token + et un GET pour avoir les entrées en localhost. Et magie, avec notre serveur go lancé, on arrive à obtenir + les entrées. + J'ai ajouté une vérification pour chaque fonction. Problème rencontré: lors de l'appel à une requête, le résultat retourné est: **Unauthorized**, alors que toutes les informations sont bonnes. Ensuite nous devons réussir à se connecter avec nos utilisateurs créés sur OKTA sur notre application GO. Il est impossible pour moi de trouver un bout de code qui m'indiquerait comment connecter les utilisateurs sur internet. La dernière partie ne fonctionne donc pas. + ## Exercice 4 Pour cet exercice, il suffit de setup des variables d'environnement dans le fichier .yml dans la section dédiée à notre application. - Vu que je n'ai pas réussi à récupérer les utilisateurs depuis OKTA. J'ai laissé les utilisateurs par défaut foo et aristote. + Vu que je n'ai pas réussi à récupérer les utilisateurs depuis OKTA. + J'ai laissé les utilisateurs par défaut foo et aristote. +# Conclusion + + Ce TP, a été relativement compliqué à réaliser. + La dockerisation fonctionne. + La connexion avec les utilisateurs okta, ne peut être testée puisque pas trouvé comment faire. + Cependant toute la partie de création d'utilisateurs avec OKTA a été réalisée. \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 7abf862..924ae6b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -14,4 +14,7 @@ services: image: appsec:latest container_name: appsec ports: - - 8080:8080 \ No newline at end of file + - 8080:8080 + environment: + - foo=bar + - aristote-Eucl1de \ No newline at end of file diff --git a/logs/nginx.pid b/logs/nginx.pid new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/logs/nginx.pid @@ -0,0 +1 @@ +1 diff --git a/main.go b/main.go index e66932f..c5685de 100644 --- a/main.go +++ b/main.go @@ -24,7 +24,7 @@ type teacher struct { // teachers slice to seed record teachers data. var teachers = []teacher{ {ID: "1", Name: "Malaspinas"}, - {ID: "2", Name: "ALbuquerque"}, + {ID: "2", Name: "Albuquerque"}, {ID: "3", Name: "Jenny"}, } @@ -59,12 +59,12 @@ func main() { router.POST("/teachers", postTeachers) router.DELETE("/teachersDel/:id", deleteTeacherById) - router.Run("localhost:8080") + router.Run(":8080") } var toValidate = map[string]string{ "aud": "api://default", - "cid": os.Getenv("0oa3lqlg4zhSheFli5d7"), + "cid": "0oa3lqlg4zhSheFli5d7", } func verify(c *gin.Context) bool { @@ -73,7 +73,7 @@ func verify(c *gin.Context) bool { if strings.HasPrefix(token, "Bearer ") { token = strings.TrimPrefix(token, "Bearer ") verifierSetup := jwtverifier.JwtVerifier{ - Issuer: "https://" + os.Getenv("dev-31427777.okta.com") + "/oauth2/default", + Issuer: "https://dev-31427777.okta.com/oauth2/default", ClaimsToValidate: toValidate, } verifier := verifierSetup.New() -- GitLab