Documentation ¶
Index ¶
- Variables
- func NewOAuthService()
- type BasicUserInfo
- type Error
- type GithubTeam
- type HttpGetResponse
- type OAuthType
- type OrgRecord
- type SocialBase
- type SocialConnector
- type SocialGenericOAuth
- func (s *SocialGenericOAuth) FetchOrganizations(client *http.Client) ([]string, bool)
- func (s *SocialGenericOAuth) FetchPrivateEmail(client *http.Client) (string, error)
- func (s *SocialGenericOAuth) FetchTeamMemberships(client *http.Client) ([]int, bool)
- func (s *SocialGenericOAuth) IsOrganizationMember(client *http.Client) bool
- func (s *SocialGenericOAuth) IsTeamMember(client *http.Client) bool
- func (s *SocialGenericOAuth) Type() int
- func (s *SocialGenericOAuth) UserInfo(client *http.Client, token *oauth2.Token) (*BasicUserInfo, error)
- type SocialGithub
- func (s *SocialGithub) FetchOrganizations(client *http.Client, organizationsUrl string) ([]string, error)
- func (s *SocialGithub) FetchPrivateEmail(client *http.Client) (string, error)
- func (s *SocialGithub) FetchTeamMemberships(client *http.Client) ([]GithubTeam, error)
- func (s *SocialGithub) HasMoreRecords(headers http.Header) (string, bool)
- func (s *SocialGithub) IsOrganizationMember(client *http.Client, organizationsUrl string) bool
- func (s *SocialGithub) IsTeamMember(client *http.Client) bool
- func (s *SocialGithub) Type() int
- func (s *SocialGithub) UserInfo(client *http.Client, token *oauth2.Token) (*BasicUserInfo, error)
- type SocialGitlab
- func (s *SocialGitlab) GetGroups(client *http.Client) []string
- func (s *SocialGitlab) GetGroupsPage(client *http.Client, url string) ([]string, string)
- func (s *SocialGitlab) IsGroupMember(groups []string) bool
- func (s *SocialGitlab) Type() int
- func (s *SocialGitlab) UserInfo(client *http.Client, token *oauth2.Token) (*BasicUserInfo, error)
- type SocialGoogle
- type SocialGrafanaCom
- type UserInfoJson
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrMissingTeamMembership = &Error{"User not a member of one of the required teams"} ErrMissingOrganizationMembership = &Error{"User not a member of one of the required organizations"} )
View Source
var ( SocialBaseUrl = "/api/admin/user/login/" SocialMap = make(map[string]SocialConnector) )
View Source
var (
ErrMissingGroupMembership = &Error{"User not a member of one of the required groups"}
)
View Source
var GetOAuthProviders = func() map[string]bool { result := map[string]bool{} for _, name := range allOauthes { result[name] = conf.GetBool("auth." + name + ".enabled") } return result }
GetOAuthProviders returns available oauth providers and if they're enabled or not
Functions ¶
func NewOAuthService ¶
func NewOAuthService()
Types ¶
type BasicUserInfo ¶
type GithubTeam ¶
type GithubTeam struct { Id int `json:"id"` Slug string `json:"slug"` URL string `json:"html_url"` Organization struct { Login string `json:"login"` } `json:"organization"` }
func (*GithubTeam) GetShorthand ¶
func (t *GithubTeam) GetShorthand() (string, error)
type HttpGetResponse ¶
type SocialBase ¶
func (*SocialBase) IsEmailAllowed ¶
func (s *SocialBase) IsEmailAllowed(email string) bool
func (*SocialBase) IsSignupAllowed ¶
func (s *SocialBase) IsSignupAllowed() bool
type SocialConnector ¶
type SocialConnector interface { Type() int UserInfo(client *http.Client, token *oauth2.Token) (*BasicUserInfo, error) IsEmailAllowed(email string) bool IsSignupAllowed() bool AuthCodeURL(state string, opts ...oauth2.AuthCodeOption) string Exchange(ctx context.Context, code string, authOptions ...oauth2.AuthCodeOption) (*oauth2.Token, error) Client(ctx context.Context, t *oauth2.Token) *http.Client TokenSource(ctx context.Context, t *oauth2.Token) oauth2.TokenSource }
type SocialGenericOAuth ¶
type SocialGenericOAuth struct { *SocialBase // contains filtered or unexported fields }
func (*SocialGenericOAuth) FetchOrganizations ¶
func (s *SocialGenericOAuth) FetchOrganizations(client *http.Client) ([]string, bool)
func (*SocialGenericOAuth) FetchPrivateEmail ¶
func (s *SocialGenericOAuth) FetchPrivateEmail(client *http.Client) (string, error)
func (*SocialGenericOAuth) FetchTeamMemberships ¶
func (s *SocialGenericOAuth) FetchTeamMemberships(client *http.Client) ([]int, bool)
func (*SocialGenericOAuth) IsOrganizationMember ¶
func (s *SocialGenericOAuth) IsOrganizationMember(client *http.Client) bool
func (*SocialGenericOAuth) IsTeamMember ¶
func (s *SocialGenericOAuth) IsTeamMember(client *http.Client) bool
func (*SocialGenericOAuth) Type ¶
func (s *SocialGenericOAuth) Type() int
func (*SocialGenericOAuth) UserInfo ¶
func (s *SocialGenericOAuth) UserInfo(client *http.Client, token *oauth2.Token) (*BasicUserInfo, error)
type SocialGithub ¶
type SocialGithub struct { *SocialBase // contains filtered or unexported fields }
func (*SocialGithub) FetchOrganizations ¶
func (*SocialGithub) FetchPrivateEmail ¶
func (s *SocialGithub) FetchPrivateEmail(client *http.Client) (string, error)
func (*SocialGithub) FetchTeamMemberships ¶
func (s *SocialGithub) FetchTeamMemberships(client *http.Client) ([]GithubTeam, error)
func (*SocialGithub) HasMoreRecords ¶
func (s *SocialGithub) HasMoreRecords(headers http.Header) (string, bool)
func (*SocialGithub) IsOrganizationMember ¶
func (s *SocialGithub) IsOrganizationMember(client *http.Client, organizationsUrl string) 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, token *oauth2.Token) (*BasicUserInfo, error)
type SocialGitlab ¶
type SocialGitlab struct { *SocialBase // contains filtered or unexported fields }
func (*SocialGitlab) GetGroupsPage ¶
GetGroupsPage returns groups and link to the next page if response is paginated
func (*SocialGitlab) IsGroupMember ¶
func (s *SocialGitlab) IsGroupMember(groups []string) bool
func (*SocialGitlab) Type ¶
func (s *SocialGitlab) Type() int
func (*SocialGitlab) UserInfo ¶
func (s *SocialGitlab) UserInfo(client *http.Client, token *oauth2.Token) (*BasicUserInfo, error)
type SocialGoogle ¶
type SocialGoogle struct { *SocialBase // contains filtered or unexported fields }
func (*SocialGoogle) Type ¶
func (s *SocialGoogle) Type() int
func (*SocialGoogle) UserInfo ¶
func (s *SocialGoogle) UserInfo(client *http.Client, token *oauth2.Token) (*BasicUserInfo, error)
type SocialGrafanaCom ¶
type SocialGrafanaCom struct { *SocialBase // contains filtered or unexported fields }
func (*SocialGrafanaCom) IsEmailAllowed ¶
func (s *SocialGrafanaCom) IsEmailAllowed(email string) bool
func (*SocialGrafanaCom) IsOrganizationMember ¶
func (s *SocialGrafanaCom) IsOrganizationMember(organizations []OrgRecord) bool
func (*SocialGrafanaCom) Type ¶
func (s *SocialGrafanaCom) Type() int
func (*SocialGrafanaCom) UserInfo ¶
func (s *SocialGrafanaCom) UserInfo(client *http.Client, token *oauth2.Token) (*BasicUserInfo, error)
type UserInfoJson ¶
type UserInfoJson struct { Name string `json:"name"` DisplayName string `json:"display_name"` Login string `json:"login"` Username string `json:"username"` Email string `json:"email"` Upn string `json:"upn"` Attributes map[string][]string `json:"attributes"` // contains filtered or unexported fields }
func (*UserInfoJson) String ¶
func (info *UserInfoJson) String() string
Click to show internal directories.
Click to hide internal directories.