cookie refresh: validation fixes, interval changes

* refresh now calculated as duration from cookie set
This commit is contained in:
Jehiah Czebotar
2015-06-23 07:51:00 -04:00
parent 66a0484721
commit e9b5631eed
5 changed files with 112 additions and 54 deletions
+17 -6
View File
@@ -1,23 +1,34 @@
package providers
import (
"github.com/bitly/oauth2_proxy/api"
"io/ioutil"
"log"
"net/http"
"net/url"
"github.com/bitly/oauth2_proxy/api"
)
func validateToken(p Provider, access_token string, header http.Header) bool {
if access_token == "" || p.Data().ValidateUrl == nil {
return false
}
url := p.Data().ValidateUrl.String()
endpoint := p.Data().ValidateUrl.String()
if len(header) == 0 {
url = url + "?access_token=" + access_token
params := url.Values{"access_token": {access_token}}
endpoint = endpoint + "?" + params.Encode()
}
if resp, err := api.RequestUnparsedResponse(url, header); err != nil {
resp, err := api.RequestUnparsedResponse(endpoint, header)
if err != nil {
log.Printf("token validation request failed: %s", err)
return false
} else {
return resp.StatusCode == 200
}
body, _ := ioutil.ReadAll(resp.Body)
resp.Body.Close()
if resp.StatusCode == 200 {
return true
}
log.Printf("token validation request failed: status %d - %s", resp.StatusCode, body)
return false
}