multiservice

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Aug 12, 2019 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewClientUtilForProviderType

func NewClientUtilForProviderType(providerType OAuth2Provider) (oauth2more.OAuth2Util, error)

Types

type AppURLs

type AppURLs struct {
	AuthURL     string `json:"authUrl,omitempty"`
	TokenURL    string `json:"tokenUrl,omitempty"`
	RedirectURL string `json:"redirectUrl,omitempty"`
}

type ConfigSet added in v0.3.0

type ConfigSet struct {
	ConfigsMap map[string]*O2ConfigMore
}
type TokenSet struct {
	TokenMap map[string]*TokenInfo
}
func NewTokenSet() *TokenSet {
	return &TokenSet{TokenMap: map[string]*TokenInfo{}}
}
func (toks *TokenSet) Get(key string) (*oauth2.Token, error) {
	if tok, ok := toks.TokenMap[key]; ok {
		return tok.Token, nil
	}
	return nil, fmt.Errorf("AppConfig not found for %v", key)
}
type TokenInfo struct {
	ServiceKey  string
	ServiceType string
	Token       *oauth2.Token
}

func EnvOAuth2ConfigMap

func EnvOAuth2ConfigMap(env []osutil.EnvVar, prefix string) (*ConfigSet, error)

EnvOAuth2ConfigMap returns a map of *oauth2.Config from environment variables in AppCredentialsWrapper format.

func NewConfigSet added in v0.3.0

func NewConfigSet() *ConfigSet

func (*ConfigSet) AddConfigMoreJson added in v0.3.0

func (cfgs *ConfigSet) AddConfigMoreJson(key string, val []byte) error

func (*ConfigSet) ClientURLsMap added in v0.3.0

func (cfgs *ConfigSet) ClientURLsMap() map[string]AppURLs

func (*ConfigSet) Get added in v0.3.0

func (cfgs *ConfigSet) Get(key string) (*O2ConfigMore, error)

func (*ConfigSet) Has added in v0.3.0

func (cfgs *ConfigSet) Has(key string) bool

func (*ConfigSet) MustGet added in v0.3.0

func (cfgs *ConfigSet) MustGet(key string) *O2ConfigMore

func (*ConfigSet) Slugs added in v0.3.0

func (cfgs *ConfigSet) Slugs() []string

type O2ConfigMore

type O2ConfigMore struct {
	Provider                string   `json:"provider,omitempty"`
	ClientId                string   `json:"client_id,omitempty"`
	ClientSecret            string   `json:"client_secret,omitempty"`
	ProjectId               string   `json:"project_id,omitempty"`
	AuthUri                 string   `json:"auth_uri,omitempty"`
	TokenUri                string   `json:"token_uri,omitempty"`
	AuthProviderX509CertUrl string   `json:"auth_provider_x509_cert_url,omitempty"`
	RedirectUris            []string `json:"redirect_uris,omitempty"`
	JavaScriptOrigins       []string `json:"javascript_origins,omitempty"`
	Scopes                  []string `json:"scopes,omitempty"`
}

O2ConfigCanonical is similar to Google but includes scopes

func NewO2ConfigMoreFromJSON

func NewO2ConfigMoreFromJSON(bytes []byte) (*O2ConfigMore, error)

func (*O2ConfigMore) Config

func (c *O2ConfigMore) Config() *oauth2.Config

func (*O2ConfigMore) ProviderType

func (c *O2ConfigMore) ProviderType() (OAuth2Provider, error)

type OAuth2Manager

type OAuth2Manager struct {
	ConfigSet *ConfigSet
	TokenSet  common.TokenSet
}

func NewOAuth2Manager

func NewOAuth2Manager() *OAuth2Manager

func (*OAuth2Manager) GetClient

func (cb *OAuth2Manager) GetClient(ctx context.Context, serviceKey string) (*http.Client, error)

type OAuth2Provider

type OAuth2Provider int
const (
	Aha OAuth2Provider = iota
	Facebook
	Google
	Instagram
	Lyft
	Metabase
	RingCentral
	SparkPost
	Twitter
	Visa
	Zendesk
)

OAuth2Provider a constant list of OAuth2 providers. Warning: do not rely on ordering or integer value as this will change as additional providers are added.

func ProviderStringToConst

func ProviderStringToConst(s string) (OAuth2Provider, error)

func (OAuth2Provider) String

func (p OAuth2Provider) String() string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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