X-Git-Url: https://git.octo.it/?p=kraftakt.git;a=blobdiff_plain;f=gfit%2Fgfit.go;h=78d28d747ec7d051353d1b3226625548a9db3aa3;hp=1599799e5689cf47a0adb562876b94ebdf5daa8f;hb=e0dd0f79fe96f749e19fac2401f751d841fc19b5;hpb=8c06b36013a7276fc55ac9c00fe73cf7c7c54e9e diff --git a/gfit/gfit.go b/gfit/gfit.go index 1599799..78d28d7 100644 --- a/gfit/gfit.go +++ b/gfit/gfit.go @@ -28,16 +28,18 @@ const ( dataTypeNameActivitySegment = "com.google.activity.segment" ) -var oauthConfig = &oauth2.Config{ - ClientID: app.Config.GoogleClientID, - ClientSecret: app.Config.GoogleClientSecret, - Endpoint: oauth2google.Endpoint, - RedirectURL: "https://kraftakt.octo.it/google/grant", - Scopes: []string{ - fitness.FitnessActivityWriteScope, - fitness.FitnessBodyWriteScope, - fitness.FitnessLocationWriteScope, - }, +func oauthConfig() *oauth2.Config { + return &oauth2.Config{ + ClientID: app.Config.GoogleClientID, + ClientSecret: app.Config.GoogleClientSecret, + Endpoint: oauth2google.Endpoint, + RedirectURL: "https://kraftakt.octo.it/google/grant", + Scopes: []string{ + fitness.FitnessActivityWriteScope, + fitness.FitnessBodyWriteScope, + fitness.FitnessLocationWriteScope, + }, + } } func Application(ctx context.Context) *fitness.Application { @@ -49,7 +51,7 @@ func Application(ctx context.Context) *fitness.Application { } func AuthURL() string { - return oauthConfig.AuthCodeURL(csrfToken, oauth2.AccessTypeOffline) + return oauthConfig().AuthCodeURL(csrfToken, oauth2.AccessTypeOffline) } func ParseToken(ctx context.Context, r *http.Request, u *app.User) error { @@ -57,7 +59,7 @@ func ParseToken(ctx context.Context, r *http.Request, u *app.User) error { return fmt.Errorf("invalid state parameter: %q", state) } - tok, err := oauthConfig.Exchange(ctx, r.FormValue("code")) + tok, err := oauthConfig().Exchange(ctx, r.FormValue("code")) if err != nil { return err } @@ -70,7 +72,7 @@ type Client struct { } func NewClient(ctx context.Context, u *app.User) (*Client, error) { - c, err := u.OAuthClient(ctx, "Google", oauthConfig) + c, err := u.OAuthClient(ctx, "Google", oauthConfig()) if err != nil { return nil, err }