auth

package
v0.0.0-...-b234bb5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 18, 2019 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
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

func (Handler) Client

func (handler Handler) Client(context context.Context) (*http.Client, error)

Client returns an authenticated http client

func (Handler) Reset

func (handler Handler) Reset() error

Reset removes the stored tokens and restarts the auth process

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

func (PersistingTokenSource) Token

func (source PersistingTokenSource) Token() (*oauth2.Token, error)

Token returns a token from the original source and persists it

type TokenCleaner

type TokenCleaner interface {
	Wipe() error
}

TokenCleaner is an interface for deleting tokens

type TokenLoader

type TokenLoader interface {
	Load() (*oauth2.Token, error)
}

TokenLoader is an interface for loading tokens

type TokenPersister

type TokenPersister interface {
	Persist(*oauth2.Token) error
}

TokenPersister is an interface for persisting tokens

type TokenStorage

type TokenStorage interface {
	TokenCleaner
	TokenLoader
	TokenPersister
}

TokenStorage is a union of TokenPersister and TokenLoader

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL