go_simple_oauth2_middleware

package module
v0.5.1 Latest Latest
Warning

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

Go to latest
Published: Feb 1, 2023 License: MIT Imports: 16 Imported by: 0

README

go-simple-oauth2-middleware

GoDoc reference example

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrUserNotFound       = errors.New("user not found")
	ErrAccountDisabled    = errors.New("account disabled")
	ErrAccountExpired     = errors.New("account expired")
	ErrAccountLocked      = errors.New("account locked")
	ErrCredentialsExpired = errors.New("credentials expired")
)

Functions

This section is empty.

Types

type Authorization added in v0.3.0

type Authorization struct {
	User        *goth.User `json:"user"`
	Authorities []string   `json:"authorities"`
}

type Authorizer added in v0.3.0

type Authorizer interface {
	Authorize(user *goth.User) (*Authorization, error)
}

type Config added in v0.2.0

type Config struct {
	SaveRequestUri               bool
	IncludeHostInSavedRequestUri bool
}

type DefaultUserAuthorizer added in v0.3.0

type DefaultUserAuthorizer struct {
	// contains filtered or unexported fields
}

func NewDefaultUserAuthorizer added in v0.3.0

func NewDefaultUserAuthorizer(userDetailsService UserDetailsService) *DefaultUserAuthorizer

func (*DefaultUserAuthorizer) Authorize added in v0.3.0

func (authorizer *DefaultUserAuthorizer) Authorize(user *goth.User) (*Authorization, error)

type DefaultUserDetailsService

type DefaultUserDetailsService struct {
	// contains filtered or unexported fields
}

func NewDefaultUserDetailsService

func NewDefaultUserDetailsService() *DefaultUserDetailsService

func (*DefaultUserDetailsService) AddUserDetails

func (service *DefaultUserDetailsService) AddUserDetails(providerName string, userDetails *UserDetails)

func (*DefaultUserDetailsService) GetUserDetails

func (service *DefaultUserDetailsService) GetUserDetails(user *goth.User) (*UserDetails, bool, error)

type GitHubOrg added in v0.3.0

type GitHubOrg struct {
	Login            string `json:"login"`
	Id               int    `json:"id"`
	NodeId           string `json:"node_id"`
	Url              string `json:"url"`
	ReposUrl         string `json:"repos_url"`
	EventsUrl        string `json:"events_url"`
	HooksUrl         string `json:"hooks_url"`
	IssuesUrl        string `json:"issues_url"`
	MembersUrl       string `json:"members_url"`
	PublicMembersUrl string `json:"public_members_url"`
	AvatarUrl        string `json:"avatar_url"`
	Description      string `json:"description"`
}

func GetGithubOrgs added in v0.3.0

func GetGithubOrgs(gothUser *goth.User) ([]GitHubOrg, error)

type GithubOrgAuthorizer added in v0.3.0

type GithubOrgAuthorizer struct {
	// contains filtered or unexported fields
}

func NewGithubOrgAuthorizer added in v0.3.0

func NewGithubOrgAuthorizer() *GithubOrgAuthorizer

func (*GithubOrgAuthorizer) AddOrg added in v0.3.0

func (authorizer *GithubOrgAuthorizer) AddOrg(name string, authorities []string)

func (*GithubOrgAuthorizer) Authorize added in v0.3.0

func (authorizer *GithubOrgAuthorizer) Authorize(user *goth.User) (*Authorization, error)

type Middleware

type Middleware struct {
	// contains filtered or unexported fields
}

func NewMiddleware deprecated

func NewMiddleware(userDetailsService UserDetailsService, sessionStore *sessions.FilesystemStore, pathConfig PathConfig, config Config) *Middleware

Deprecated: Use NewMiddlewareV2

func NewMiddlewareV2 added in v0.3.0

func NewMiddlewareV2(sessionStore *sessions.FilesystemStore, pathConfig PathConfig, config Config, authorizers ...Authorizer) *Middleware

func (*Middleware) GetGothUser

func (middleware *Middleware) GetGothUser(r *http.Request) (*goth.User, error)

func (*Middleware) Middleware

func (middleware *Middleware) Middleware(next http.Handler) http.Handler

type PathConfig

type PathConfig struct {
	UnauthenticatedPath string
	ForbiddenPathFormat string
	BeginAuthPathMap    map[string]string
	LogoutPath          string
	IgnoredPatterns     []string
	NonRedirectPatterns []string
}

type UserDetails

type UserDetails struct {
	UserID             string
	NickName           string
	Email              string
	Authorities        []string
	AccountDisabled    bool
	AccountExpired     bool
	AccountLocked      bool
	CredentialsExpired bool
}

type UserDetailsService

type UserDetailsService interface {
	GetUserDetails(user *goth.User) (*UserDetails, bool, error)
}

Jump to

Keyboard shortcuts

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