Package fitbit implements the OAuth protocol for authenticating users through Fitbit. This package can be used as a reference implementation of an OAuth provider for Goth.
- type Provider
- func (p *Provider) BeginAuth(state string) (goth.Session, error)
- func (p *Provider) Client() *http.Client
- func (p *Provider) Debug(debug bool)
- func (p *Provider) FetchUser(session goth.Session) (goth.User, error)
- func (p *Provider) Name() string
- func (p *Provider) RefreshToken(refreshToken string) (*oauth2.Token, error)
- func (p *Provider) RefreshTokenAvailable() bool
- func (p *Provider) SetName(name string)
- func (p *Provider) UnmarshalSession(data string) (goth.Session, error)
- type Session
const ( // ScopeActivity includes activity data and exercise log related features, such as steps, distance, calories burned, and active minutes ScopeActivity = "activity" // ScopeHeartRate includes the continuous heart rate data and related analysis ScopeHeartRate = "heartrate" // ScopeLocation includes the GPS and other location data ScopeLocation = "location" // ScopeNutrition includes calorie consumption and nutrition related features, such as food/water logging, goals, and plans ScopeNutrition = "nutrition" // ScopeProfile is the basic user information ScopeProfile = "profile" // ScopeSettings includes user account and device settings, such as alarms ScopeSettings = "settings" // ScopeSleep includes sleep logs and related sleep analysis ScopeSleep = "sleep" // ScopeSocial includes friend-related features, such as friend list, invitations, and leaderboard ScopeSocial = "social" // ScopeWeight includes weight and related information, such as body mass index, body fat percentage, and goals ScopeWeight = "weight" )
This section is empty.
This section is empty.
Provider is the implementation of `goth.Provider` for accessing Fitbit.
New creates a new Fitbit provider, and sets up important connection details. You should always call `fitbit.New` to get a new Provider. Never try to create one manually.
BeginAuth asks Fitbit for an authentication end-point.
Debug is a no-op for the fitbit package.
FetchUser will go to Fitbit and access basic information about the user.
Name is the name used to retrieve this provider later.
func (*Provider) RefreshToken ¶
RefreshToken get new access token based on the refresh token
func (*Provider) RefreshTokenAvailable ¶
RefreshTokenAvailable refresh token is not provided by fitbit
SetName is to update the name of the provider (needed in case of multiple providers of 1 type)
Session stores data during the auth process with Fitbit.
Authorize completes the the authorization with Fitbit and returns the access token to be stored for future use.
func (Session) GetAuthURL ¶
GetAuthURL will return the URL set by calling the `BeginAuth` function on the Fitbit provider.
Marshal marshals a session into a JSON string.