Documentation ¶
Index ¶
- Variables
- func GetOAuthHttpClient(name string) (*http.Client, error)
- func NewOAuthService()
- type BasicUserInfo
- type Error
- type GithubTeam
- type OktaClaims
- type OktaUserInfoJson
- type OrgRecord
- type SocialAzureAD
- 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 SocialGrafargCom
- type SocialOkta
- 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 = "/login/" SocialMap = make(map[string]SocialConnector) )
View Source
var GetOAuthProviders = func(cfg *setting.Cfg) map[string]bool { result := map[string]bool{} if cfg == nil || cfg.Raw == nil { return result } for _, name := range allOauthes { if name == "grafargnet" { name = grafargCom } sec := cfg.Raw.Section("auth." + name) if sec == nil { continue } result[name] = sec.Key("enabled").MustBool() } 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 OktaClaims ¶
type OktaUserInfoJson ¶
type OktaUserInfoJson 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"` Groups []string `json:"groups"` // contains filtered or unexported fields }
type SocialAzureAD ¶
type SocialAzureAD struct { *SocialBase // contains filtered or unexported fields }
func (*SocialAzureAD) IsGroupMember ¶
func (s *SocialAzureAD) IsGroupMember(groups []string) bool
func (*SocialAzureAD) Type ¶
func (s *SocialAzureAD) Type() int
func (*SocialAzureAD) UserInfo ¶
func (s *SocialAzureAD) UserInfo(_ *http.Client, token *oauth2.Token) (*BasicUserInfo, error)
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 }
func GetConnector ¶
func GetConnector(name string) (SocialConnector, error)
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 SocialGrafargCom ¶
type SocialGrafargCom struct { *SocialBase // contains filtered or unexported fields }
func (*SocialGrafargCom) IsEmailAllowed ¶
func (s *SocialGrafargCom) IsEmailAllowed(email string) bool
func (*SocialGrafargCom) IsOrganizationMember ¶
func (s *SocialGrafargCom) IsOrganizationMember(organizations []OrgRecord) bool
func (*SocialGrafargCom) Type ¶
func (s *SocialGrafargCom) Type() int
func (*SocialGrafargCom) UserInfo ¶
func (s *SocialGrafargCom) UserInfo(client *http.Client, token *oauth2.Token) (*BasicUserInfo, error)
type SocialOkta ¶
type SocialOkta struct { *SocialBase // contains filtered or unexported fields }
func (*SocialOkta) GetGroups ¶
func (s *SocialOkta) GetGroups(data *OktaUserInfoJson) []string
func (*SocialOkta) IsGroupMember ¶
func (s *SocialOkta) IsGroupMember(groups []string) bool
func (*SocialOkta) Type ¶
func (s *SocialOkta) Type() int
func (*SocialOkta) UserInfo ¶
func (s *SocialOkta) 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.