mirror of
https://github.com/oauth2-proxy/oauth2-proxy.git
synced 2026-10-21 10:17:22 +02:00
cookie refresh: validation fixes, interval changes
* refresh now calculated as duration from cookie set
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user