mise en place du refresh token

This commit is contained in:
Laurent Drogou
2021-01-30 00:34:00 +01:00
parent a385e4f267
commit 6d4795b0a6
4 changed files with 20 additions and 15 deletions

View File

@@ -209,11 +209,14 @@ func (s *server) handleRedirect() http.HandlerFunc {
log.Printf("client erreur %v", err)
}
log.Printf("resp status %v", resp.StatusCode)
if resp.StatusCode != 200 {
log.Printf("Problème dans la requete retour http %v", resp.StatusCode)
s.response(rw, r, nil, http.StatusBadGateway)
return
}
var t map[string]interface{}
// here's the trick
json.NewDecoder(resp.Body).Decode(&t)
err = json.NewDecoder(resp.Body).Decode(&t)
if err != nil {
log.Printf("Cannot parse token body err=%v", err)
s.response(rw, r, nil, http.StatusBadGateway)
@@ -221,11 +224,6 @@ func (s *server) handleRedirect() http.HandlerFunc {
}
defer resp.Body.Close()
if err != nil {
log.Printf("Cannot parse token body err=%v", err)
s.response(rw, r, nil, http.StatusBadGateway)
return
}
// Insert en base de données
o := &model.Oauth{
ID: 0,
@@ -267,10 +265,6 @@ func (s *server) handleJSONWebToken() http.HandlerFunc {
}
tokenVal := oauth.AccessToken
fmt.Println("============")
fmt.Println(tokenVal)
fmt.Println("============")
tableau := strings.Split(tokenVal, ".")
header, err := jwt.DecodeSegment(tableau[0])
if err != nil {

View File

@@ -67,12 +67,10 @@ func (store *DbStore) Close() error {
func (store *DbStore) GetOauth(id int64) (*model.Oauth, error) {
var oauth = &model.Oauth{}
log.Println("ME VOICI")
err := store.db.Get(oauth, "SELECT * FROM oauth where id=$1", id)
if err != nil {
return oauth, err
}
log.Printf("oauth=%v", oauth)
return oauth, nil
}

View File

@@ -15,7 +15,11 @@ var Resultat = `<!DOCTYPE html>
<script src="http://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/hmac-sha512.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/components/enc-base64-min.js"></script>
<script>
function copy(jwt) {
navigator.clipboard.writeText(jwt)
}
</script>
</head>
<body>
@@ -23,6 +27,12 @@ var Resultat = `<!DOCTYPE html>
<h1 class="center-align">Composition</h1>
</div>
<div class="container">
<a class="waves-effect waves-light btn" onclick="copy('{{.JwtProduce }}');" >
<i class="material-icons center">content_copy</i>
</a>
<a class="waves-effect waves-light btn" onclick="copy('{{.JwtProduce }}');" >
<i class="material-icons left bottom">refresh</i>Refresh Token
</a>
<div class="row">
<div class="light-blue lighten-5 col s5">
<span style="width:300px; word-wrap:break-word; display:inline-block;">

View File

@@ -21,6 +21,9 @@
</div>
<div class="container">
<div class="row">
<a class="waves-effect waves-light btn" onClick="{() => {navigator.clipboard.writeText(`{{.JwtProduce }}`)}}" >
<i class="material-icons left">content_copy</i>
</a>
<div class="light-blue lighten-5 col s5">
<span style="width:300px; word-wrap:break-word; display:inline-block;">
{{.JwtProduce }}