social

package
v4.1.1+incompatible Latest Latest
Warning

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

Go to latest
Published: Jan 12, 2017 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	SocialBaseUrl = "/login/"
	SocialMap     = make(map[string]SocialConnector)
)
View Source
var (
	ErrMissingOrganizationMembership = errors.New("User not a member of one of the required organizations")
)
View Source
var (
	ErrMissingTeamMembership = errors.New("User not a member of one of the required teams")
)

Functions

func NewOAuthService

func NewOAuthService()

Types

type BasicUserInfo

type BasicUserInfo struct {
	Name    string
	Email   string
	Login   string
	Company string
	Role    string
}

type GenericOAuth

type GenericOAuth struct {
	*oauth2.Config
	// contains filtered or unexported fields
}

func (*GenericOAuth) FetchOrganizations

func (s *GenericOAuth) FetchOrganizations(client *http.Client) ([]string, error)

func (*GenericOAuth) FetchPrivateEmail

func (s *GenericOAuth) FetchPrivateEmail(client *http.Client) (string, error)

func (*GenericOAuth) FetchTeamMemberships

func (s *GenericOAuth) FetchTeamMemberships(client *http.Client) ([]int, error)

func (*GenericOAuth) IsEmailAllowed

func (s *GenericOAuth) IsEmailAllowed(email string) bool

func (*GenericOAuth) IsOrganizationMember

func (s *GenericOAuth) IsOrganizationMember(client *http.Client) bool

func (*GenericOAuth) IsSignupAllowed

func (s *GenericOAuth) IsSignupAllowed() bool

func (*GenericOAuth) IsTeamMember

func (s *GenericOAuth) IsTeamMember(client *http.Client) bool

func (*GenericOAuth) Type

func (s *GenericOAuth) Type() int

func (*GenericOAuth) UserInfo

func (s *GenericOAuth) UserInfo(client *http.Client) (*BasicUserInfo, error)

type OrgRecord

type OrgRecord struct {
	Login string `json:"login"`
}

type SocialConnector

type SocialConnector interface {
	Type() int
	UserInfo(client *http.Client) (*BasicUserInfo, error)
	IsEmailAllowed(email string) bool
	IsSignupAllowed() bool

	AuthCodeURL(state string, opts ...oauth2.AuthCodeOption) string
	Exchange(ctx context.Context, code string) (*oauth2.Token, error)
	Client(ctx context.Context, t *oauth2.Token) *http.Client
}

type SocialGithub

type SocialGithub struct {
	*oauth2.Config
	// contains filtered or unexported fields
}

func (*SocialGithub) FetchOrganizations

func (s *SocialGithub) FetchOrganizations(client *http.Client) ([]string, error)

func (*SocialGithub) FetchPrivateEmail

func (s *SocialGithub) FetchPrivateEmail(client *http.Client) (string, error)

func (*SocialGithub) FetchTeamMemberships

func (s *SocialGithub) FetchTeamMemberships(client *http.Client) ([]int, error)

func (*SocialGithub) IsEmailAllowed

func (s *SocialGithub) IsEmailAllowed(email string) bool

func (*SocialGithub) IsOrganizationMember

func (s *SocialGithub) IsOrganizationMember(client *http.Client) bool

func (*SocialGithub) IsSignupAllowed

func (s *SocialGithub) IsSignupAllowed() bool

func (*SocialGithub) IsTeamMember

func (s *SocialGithub) IsTeamMember(client *http.Client) bool

func (*SocialGithub) Type

func (s *SocialGithub) Type() int

func (*SocialGithub) UserInfo

func (s *SocialGithub) UserInfo(client *http.Client) (*BasicUserInfo, error)

type SocialGoogle

type SocialGoogle struct {
	*oauth2.Config
	// contains filtered or unexported fields
}

func (*SocialGoogle) IsEmailAllowed

func (s *SocialGoogle) IsEmailAllowed(email string) bool

func (*SocialGoogle) IsSignupAllowed

func (s *SocialGoogle) IsSignupAllowed() bool

func (*SocialGoogle) Type

func (s *SocialGoogle) Type() int

func (*SocialGoogle) UserInfo

func (s *SocialGoogle) UserInfo(client *http.Client) (*BasicUserInfo, error)

type SocialGrafanaNet

type SocialGrafanaNet struct {
	*oauth2.Config
	// contains filtered or unexported fields
}

func (*SocialGrafanaNet) IsEmailAllowed

func (s *SocialGrafanaNet) IsEmailAllowed(email string) bool

func (*SocialGrafanaNet) IsOrganizationMember

func (s *SocialGrafanaNet) IsOrganizationMember(organizations []OrgRecord) bool

func (*SocialGrafanaNet) IsSignupAllowed

func (s *SocialGrafanaNet) IsSignupAllowed() bool

func (*SocialGrafanaNet) Type

func (s *SocialGrafanaNet) Type() int

func (*SocialGrafanaNet) UserInfo

func (s *SocialGrafanaNet) UserInfo(client *http.Client) (*BasicUserInfo, error)

Jump to

Keyboard shortcuts

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