diff --git a/main.go b/main.go
index 0331927273a0d01e70046ca9d2c13e0425bdb51d..a7281610c15f9b79ffc530d91faa0c64b5c796a8 100644
--- a/main.go
+++ b/main.go
@@ -4,6 +4,7 @@ import (
 	"flag"
 	"fmt"
 	"net/http"
+	"net/url"
 	"io/ioutil"
 	"strconv"
 	"strings"
@@ -19,7 +20,7 @@ func main() {
 	mux := http.NewServeMux()
     fmt.Println("Server started")
 	mux.HandleFunc("/auth", func(w http.ResponseWriter, r *http.Request) {
-        fmt.Println("New request")
+        fmt.Println("New auth request")
 		query := r.URL.Query()
 		fmt.Println(query)
 		// host := strings.Split(query.Get("state"), "-")[1]
@@ -93,7 +94,60 @@ func main() {
 			fmt.Println(redir)
 			http.Redirect(w, r, redir, 302)
 		}
-	
+	})
+
+	mux.HandleFunc("/token", func(w http.ResponseWriter, r *http.Request) {
+        fmt.Println("New token request")
+		query := r.URL.Query()
+		fmt.Println(query)
+
+		clientId := query.Get("client_id")
+		clientSecret := query.Get("client_secret")
+		code := query.Get("code")
+		grantType := query.Get("grant_type")
+		redirectUri := query.Get("redirect_uri")
+
+		tokenUrl := "https://gw.hml.api.enedis.fr/v1/oauth2/token"
+		data := url.Values{}
+		data.Set("client_id", clientId)
+		data.Set("client_secret", clientSecret)
+		data.Set("code", code)
+		data.Set("grant_type", grantType)
+		
+		client := &http.Client{}
+		r, _ := http.NewRequest("POST", urlStr, strings.NewReader(data.Encode())) // URL-encoded payload
+		r.Header.Add("Content-Type", "application/x-www-form-urlencoded")
+
+		response, err := client.Do(r)
+		fmt.Println(response.Status)
+		if err != nil {
+			fmt.Println(err)
+		} else {
+			defer response.Body.Close()
+			contents, err := ioutil.ReadAll(response.Body)
+			if err != nil {
+				fmt.Println(err)
+			}
+			// Get the response body as a string
+			fmt.Printf("Response content: %s\n", string(contents))
+		
+
+			// pageCode := string([]byte(pageContent[codeStartIndex:codeEndIndex]))
+			// pageState := string([]byte(pageContent[stateStartIndex:stateEndIndex]))
+			// pageUsage := string([]byte(pageContent[usageStartIndex:usageEndIndex]))
+
+			// Print out the result
+			// fmt.Printf("Page code: %s\n", pageCode)
+			// fmt.Printf("Page state: %s\n", pageState)
+			// fmt.Printf("Page usage: %s\n", pageUsage)
+
+			// state := strings.Split(pageState, "-")[0]
+			// host := strings.Split(pageState, "-")[1]
+
+			// redir := "https://" + host + "/accounts/enedisoauth/redirect?code=" + pageCode + "&state="+ state +"&usage_point_id=" + pageUsage
+			// fmt.Println(redir)
+			// http.Redirect(w, r, redir, 302)
+		}
 	})
 
 	mux.HandleFunc("/test", func(w http.ResponseWriter, r *http.Request) {