Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ImplicitGrantFlow = oauth2.SetAuthURLParam("response_type", "token")
ImplicitGrantFlow is recommended for apps without web service
Functions ¶
This section is empty.
Types ¶
type CallbackServer ¶
type CallbackServer struct {
// contains filtered or unexported fields
}
CallbackServer starts a temporary HTTP server and awaits an OAuth2 callback
func NewCallbackServer ¶
func NewCallbackServer(port int) *CallbackServer
NewCallbackServer creates a new CallbackServer
func (*CallbackServer) AwaitCode ¶
func (callback *CallbackServer) AwaitCode(context context.Context) (string, error)
AwaitCode waits for a token callback and returns it unless the context expires
func (*CallbackServer) ServeHTTP ¶
func (callback *CallbackServer) ServeHTTP(w http.ResponseWriter, r *http.Request)
type FileTokenStorage ¶
type FileTokenStorage struct {
// contains filtered or unexported fields
}
FileTokenStorage stores the access and refresh tokens in a file
func NewFileTokenStorage ¶
func NewFileTokenStorage(filepath string) FileTokenStorage
NewFileTokenStorage creates a new file token store
func (FileTokenStorage) Load ¶
func (store FileTokenStorage) Load() (*oauth2.Token, error)
Load reads a previously saved token from file
func (FileTokenStorage) Persist ¶
func (store FileTokenStorage) Persist(token *oauth2.Token) error
Persist writes a token to a file
func (FileTokenStorage) Wipe ¶
func (store FileTokenStorage) Wipe() error
Wipe removes existing stored token
type Handler ¶
type Handler struct {
// contains filtered or unexported fields
}
Handler handles the authn and authz with Fitbit API
func NewHandler ¶
func NewHandler(client string, secret string, scopes []string, callbackPort int, storage TokenStorage) *Handler
NewHandler creates new auth handler
type PersistingTokenSource ¶
type PersistingTokenSource struct {
// contains filtered or unexported fields
}
PersistingTokenSource is a token source that persist token on refresh
func NewPersistingTokenSource ¶
func NewPersistingTokenSource(original oauth2.TokenSource, persister TokenPersister) *PersistingTokenSource
NewPersistingTokenSource creates a new persisting token source
type TokenCleaner ¶
type TokenCleaner interface {
Wipe() error
}
TokenCleaner is an interface for deleting tokens
type TokenLoader ¶
TokenLoader is an interface for loading tokens
type TokenPersister ¶
TokenPersister is an interface for persisting tokens
type TokenStorage ¶
type TokenStorage interface { TokenCleaner TokenLoader TokenPersister }
TokenStorage is a union of TokenPersister and TokenLoader