Documentation
¶
Index ¶
Constants ¶
View Source
const JWTSigningKeyID = "jwt_signing_key"
Variables ¶
View Source
var ( ErrNotFound = errors.New("key not found") ErrDB = errors.New("database error") )
Functions ¶
This section is empty.
Types ¶
type Auth0Provider ¶ added in v0.5.0
type Auth0Provider struct {
// contains filtered or unexported fields
}
func NewAuth0Provider ¶ added in v0.5.0
func (*Auth0Provider) GetAuthURL ¶ added in v0.5.0
func (p *Auth0Provider) GetAuthURL(state string) string
func (*Auth0Provider) HandleCallback ¶ added in v0.5.0
func (*Auth0Provider) Name ¶ added in v0.5.0
func (p *Auth0Provider) Name() string
func (*Auth0Provider) Type ¶ added in v0.5.0
func (p *Auth0Provider) Type() string
type Claims ¶
type Claims struct {
Roles []string `json:"roles"`
Permissions []string `json:"permissions"`
Preferences map[string]interface{} `json:"preferences,omitempty"`
jwt.RegisteredClaims
}
type GitHubProvider ¶ added in v0.5.0
type GitHubProvider struct {
// contains filtered or unexported fields
}
func NewGitHubProvider ¶ added in v0.5.0
func NewGitHubProvider(cfg *config.Config, userService user.Service) *GitHubProvider
func (*GitHubProvider) GetAuthURL ¶ added in v0.5.0
func (p *GitHubProvider) GetAuthURL(state string) string
func (*GitHubProvider) HandleCallback ¶ added in v0.5.0
func (*GitHubProvider) Name ¶ added in v0.5.0
func (p *GitHubProvider) Name() string
func (*GitHubProvider) Type ¶ added in v0.5.0
func (p *GitHubProvider) Type() string
type GitLabProvider ¶ added in v0.5.0
type GitLabProvider struct {
// contains filtered or unexported fields
}
func NewGitLabProvider ¶ added in v0.5.0
func NewGitLabProvider(cfg *config.Config, userService user.Service) *GitLabProvider
func (*GitLabProvider) GetAuthURL ¶ added in v0.5.0
func (p *GitLabProvider) GetAuthURL(state string) string
func (*GitLabProvider) HandleCallback ¶ added in v0.5.0
func (*GitLabProvider) Name ¶ added in v0.5.0
func (p *GitLabProvider) Name() string
func (*GitLabProvider) Type ¶ added in v0.5.0
func (p *GitLabProvider) Type() string
type GoogleProvider ¶ added in v0.5.0
type GoogleProvider struct {
// contains filtered or unexported fields
}
func NewGoogleProvider ¶ added in v0.5.0
func NewGoogleProvider(cfg *config.Config, userService user.Service) *GoogleProvider
func (*GoogleProvider) GetAuthURL ¶ added in v0.5.0
func (p *GoogleProvider) GetAuthURL(state string) string
func (*GoogleProvider) HandleCallback ¶ added in v0.5.0
func (*GoogleProvider) Name ¶ added in v0.5.0
func (p *GoogleProvider) Name() string
func (*GoogleProvider) Type ¶ added in v0.5.0
func (p *GoogleProvider) Type() string
type OAuthManager ¶
type OAuthManager struct {
// contains filtered or unexported fields
}
func NewOAuthManager ¶
func NewOAuthManager() *OAuthManager
func (*OAuthManager) GetProvider ¶
func (m *OAuthManager) GetProvider(providerType string) (OAuthProvider, bool)
func (*OAuthManager) GetProviderNames ¶ added in v0.5.0
func (m *OAuthManager) GetProviderNames() []string
func (*OAuthManager) RegisterProvider ¶
func (m *OAuthManager) RegisterProvider(provider OAuthProvider)
type OAuthProvider ¶
type OktaProvider ¶
type OktaProvider struct {
// contains filtered or unexported fields
}
OktaProvider represents the OAuth provider for Okta.
func NewOktaProvider ¶
func NewOktaProvider(cfg *config.Config, userService user.Service, authService Service, teamService *team.Service) *OktaProvider
NewOktaProvider creates a new OktaProvider.
func (*OktaProvider) GetAuthURL ¶
func (p *OktaProvider) GetAuthURL(state string) string
func (*OktaProvider) HandleCallback ¶
func (*OktaProvider) Name ¶
func (p *OktaProvider) Name() string
Name returns the name of the provider.
func (*OktaProvider) Type ¶
func (p *OktaProvider) Type() string
Type returns the type of the provider.
type Repository ¶
type Repository interface {
GetSigningKey(ctx context.Context, key string) (string, error)
StoreSigningKey(ctx context.Context, key, value string) error
}
func NewPostgresRepository ¶
func NewPostgresRepository(db *pgxpool.Pool) Repository
type Service ¶
type Service interface {
GenerateToken(ctx context.Context, user *user.User, preferencesClaims map[string]interface{}) (string, error)
ValidateToken(ctx context.Context, tokenString string) (*Claims, error)
GetSigningKey(ctx context.Context) ([]byte, error)
}
func NewService ¶
func NewService(repo Repository, userService user.Service) Service
type SlackProvider ¶ added in v0.5.0
type SlackProvider struct {
// contains filtered or unexported fields
}
func NewSlackProvider ¶ added in v0.5.0
func NewSlackProvider(cfg *config.Config, userService user.Service) *SlackProvider
func (*SlackProvider) GetAuthURL ¶ added in v0.5.0
func (p *SlackProvider) GetAuthURL(state string) string
func (*SlackProvider) HandleCallback ¶ added in v0.5.0
func (*SlackProvider) Name ¶ added in v0.5.0
func (p *SlackProvider) Name() string
func (*SlackProvider) Type ¶ added in v0.5.0
func (p *SlackProvider) Type() string
Click to show internal directories.
Click to hide internal directories.