in metadata.go [69:82]
func decodeTokenExpiry(payload string) (int64, error) {
// decode returned id token to get expiry
s := strings.Split(payload, ".")
if len(s) < 2 {
return 0, errors.New("invalid token received")
}
decoded, err := base64.RawURLEncoding.DecodeString(s[1])
if err != nil {
return 0, err
}
c := &claimSet{}
err = json.NewDecoder(bytes.NewBuffer(decoded)).Decode(c)
return c.Exp, err
}