type CustomToken struct{
ctx Context
*TokenRefresher //currently private
db *CustomStorage
}
func (t *CustomToken) Token() (*oauth2.Token, error){
token, err := t.TokenRefresher.Token()
if err != nil{
return nil, err
}
err = t.db.store(token)
if err != nil{
return nil, err
}
return token, nil
}
type CustomToken struct{
ctx Context
conf *Config
refreshToken string
db *CustomStorage
}
func (t *CustomToken) Token() (*oauth2.Token, error){
if tf.refreshToken == "" {
return nil, errors.New("oauth2: token expired and refresh token is not set")
}
// currently private
tk, err := RetrieveToken(tf.ctx, tf.conf, url.Values{
"grant_type": {"refresh_token"},
"refresh_token": {tf.refreshToken},
})
if err != nil {
return nil, err
}
if tf.refreshToken != tk.RefreshToken {
tf.refreshToken = tk.RefreshToken
}
err = t.db.store(token)
if err != nil{
return nil, err
}
return tk, err
}
var fitbitConf = &oauth2.Config{
ClientID: data.FitbitClientID,
ClientSecret: data.FitbitClientSecret,
Scopes: []string{"activity", "weight", "profile"},
Endpoint: oauth2.Endpoint{
AuthURL: "https://www.fitbit.com/oauth2/authorize",
TokenURL: "https://api.fitbit.com/oauth2/token",
},
}
--
You received this message because you are subscribed to a topic in the Google Groups "golang-nuts" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/golang-nuts/5jFjsIg_d4M/unsubscribe.
To unsubscribe from this group and all its topics, send an email to golang-nuts...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Patrick
Well, fortunately I need just one token for this application ^^
I'll do some tests tomorrow, thanks for the help, really appreciated :)
Patrick