Documentation
¶
Index ¶
- Constants
- Variables
- type AppIdentityProviderService
- func (s AppIdentityProviderService) FindByType(app *models.Application, connType string) []*models.AppIdentityProvider
- func (s AppIdentityProviderService) FindByTypeAndName(app *models.Application, connType string, name string) *models.AppIdentityProvider
- func (s AppIdentityProviderService) Get(app *models.Application, id bson.ObjectId) *models.AppIdentityProvider
- func (s *AppIdentityProviderService) GetAllTemplates() []*models.AppIdentityProvider
- func (s *AppIdentityProviderService) GetAuthUrl(domain string, ip *models.AppIdentityProvider, form interface{}) (string, error)
- func (s *AppIdentityProviderService) GetAvailableTemplates() []string
- func (s *AppIdentityProviderService) GetSocialProfile(ctx context.Context, domain string, code string, ...) (*models.UserIdentitySocial, error)
- func (s *AppIdentityProviderService) GetTemplate(name string) (*models.AppIdentityProvider, error)
- func (s AppIdentityProviderService) NormalizeSocialConnection(ipc *models.AppIdentityProvider) error
- type AppIdentityProviderServiceInterface
- type ApplicationService
- func (s ApplicationService) AddIdentityProvider(app *models.Application, ip *models.AppIdentityProvider) error
- func (s ApplicationService) Create(app *models.Application) error
- func (s ApplicationService) Get(id bson.ObjectId) (*models.Application, error)
- func (s ApplicationService) LoadMfaConnection(connection string) ([]*models.MfaConnection, error)
- func (s ApplicationService) LoadSocialSettings() (*models.SocialSettings, error)
- func (s ApplicationService) Update(app *models.Application) error
- func (s ApplicationService) UpdateIdentityProvider(app *models.Application, ip *models.AppIdentityProvider) error
- type ApplicationServiceInterface
- type AuthLogService
- type AuthLogServiceInterface
- type HydraAdminApi
- type InternalRegistry
- type Mailer
- type MailerInterface
- type MfaApiInterface
- type MfaService
- func (s MfaService) Add(provider *models.MfaProvider) error
- func (s *MfaService) AddUserProvider(up *models.MfaUserProvider) error
- func (s *MfaService) Get(id bson.ObjectId) (provider *models.MfaProvider, err error)
- func (s *MfaService) GetUserProviders(u *models.User) (providers []*models.MfaProvider, err error)
- func (s *MfaService) List(appId bson.ObjectId) (providers []*models.MfaProvider, err error)
- func (s *MfaService) RemoveUserProvider(provider *models.MfaUserProvider) error
- type MfaServiceInterface
- type OneTimeTokenService
- type OneTimeTokenServiceInterface
- type RegistryBase
- func (r *RegistryBase) ApplicationService() ApplicationServiceInterface
- func (r *RegistryBase) HydraAdminApi() HydraAdminApi
- func (r *RegistryBase) Mailer() MailerInterface
- func (r *RegistryBase) MfaService() MfaApiInterface
- func (r *RegistryBase) MgoSession() database.MgoSession
- func (r *RegistryBase) OneTimeTokenService() OneTimeTokenServiceInterface
- func (r *RegistryBase) Watcher() persist.Watcher
- type RegistryConfig
- type SessionService
- type SessionSettings
- type SpaceService
- type SpaceServiceInterface
- type UserIdentityService
- type UserIdentityServiceInterface
- type UserService
- type UserServiceInterface
Constants ¶
const ApplicationWatcherChannel = "application"
const OneTimeTokenStoragePattern = "ott_data_%s"
Variables ¶
var ( ErrorInvalidSocialProviderName = "Invalid identity provider: %s" ErrorInvalidTemplate = "Identity provider [%s] template not found" ErrorFuncNumberParameters = "The number of parameters is not adapted" )
Functions ¶
This section is empty.
Types ¶
type AppIdentityProviderService ¶
type AppIdentityProviderService struct {
}
AppIdentityProviderService is the AppIdentityProvider service.
func NewAppIdentityProviderService ¶
func NewAppIdentityProviderService() *AppIdentityProviderService
NewAppIdentityProviderService return new AppIdentityProvider service.
func (AppIdentityProviderService) FindByType ¶
func (s AppIdentityProviderService) FindByType(app *models.Application, connType string) []*models.AppIdentityProvider
func (AppIdentityProviderService) FindByTypeAndName ¶
func (s AppIdentityProviderService) FindByTypeAndName(app *models.Application, connType string, name string) *models.AppIdentityProvider
func (AppIdentityProviderService) Get ¶
func (s AppIdentityProviderService) Get(app *models.Application, id bson.ObjectId) *models.AppIdentityProvider
func (*AppIdentityProviderService) GetAllTemplates ¶
func (s *AppIdentityProviderService) GetAllTemplates() []*models.AppIdentityProvider
func (*AppIdentityProviderService) GetAuthUrl ¶
func (s *AppIdentityProviderService) GetAuthUrl(domain string, ip *models.AppIdentityProvider, form interface{}) (string, error)
func (*AppIdentityProviderService) GetAvailableTemplates ¶
func (s *AppIdentityProviderService) GetAvailableTemplates() []string
func (*AppIdentityProviderService) GetSocialProfile ¶
func (s *AppIdentityProviderService) GetSocialProfile(ctx context.Context, domain string, code string, ip *models.AppIdentityProvider) (*models.UserIdentitySocial, error)
func (*AppIdentityProviderService) GetTemplate ¶
func (s *AppIdentityProviderService) GetTemplate(name string) (*models.AppIdentityProvider, error)
func (AppIdentityProviderService) NormalizeSocialConnection ¶
func (s AppIdentityProviderService) NormalizeSocialConnection(ipc *models.AppIdentityProvider) error
type AppIdentityProviderServiceInterface ¶
type AppIdentityProviderServiceInterface interface {
// Get return the identity provider by application and provider id.
Get(*models.Application, bson.ObjectId) *models.AppIdentityProvider
// FindByType find and return list of identity providers by type.
FindByType(*models.Application, string) []*models.AppIdentityProvider
// FindByTypeAndName find and return list of identity provider by name and type.
FindByTypeAndName(*models.Application, string, string) *models.AppIdentityProvider
// NormalizeSocialConnection fills in the default fields for social providers.
NormalizeSocialConnection(*models.AppIdentityProvider) error
// GetAvailableTemplates return list of string with available social networks.
GetAvailableTemplates() []string
// GetAllTemplates returns a list of social providers with default values for each provider.
GetAllTemplates() []*models.AppIdentityProvider
// GetTemplate returns a social provider with default values.
GetTemplate(string) (*models.AppIdentityProvider, error)
// GetAuthUrl generates an authorization string for the social provider oauth2.
GetAuthUrl(string, *models.AppIdentityProvider, interface{}) (string, error)
// GetSocialProfile swaps the authorization code for an access token on a social network and gets a user profile in it.
GetSocialProfile(context.Context, string, string, *models.AppIdentityProvider) (*models.UserIdentitySocial, error)
}
AppIdentityProviderServiceInterface describes of methods for the AppIdentityProviderService.
type ApplicationService ¶
type ApplicationService struct {
// contains filtered or unexported fields
}
ApplicationService is the Application service.
func NewApplicationService ¶
func NewApplicationService(r InternalRegistry) *ApplicationService
NewApplicationService return new Application service.
func (ApplicationService) AddIdentityProvider ¶
func (s ApplicationService) AddIdentityProvider(app *models.Application, ip *models.AppIdentityProvider) error
func (ApplicationService) Create ¶
func (s ApplicationService) Create(app *models.Application) error
func (ApplicationService) Get ¶
func (s ApplicationService) Get(id bson.ObjectId) (*models.Application, error)
func (ApplicationService) LoadMfaConnection ¶
func (s ApplicationService) LoadMfaConnection(connection string) ([]*models.MfaConnection, error)
func (ApplicationService) LoadSocialSettings ¶
func (s ApplicationService) LoadSocialSettings() (*models.SocialSettings, error)
func (ApplicationService) Update ¶
func (s ApplicationService) Update(app *models.Application) error
func (ApplicationService) UpdateIdentityProvider ¶
func (s ApplicationService) UpdateIdentityProvider(app *models.Application, ip *models.AppIdentityProvider) error
type ApplicationServiceInterface ¶
type ApplicationServiceInterface interface {
// Create is creating a new application.
Create(*models.Application) error
// Update is updating a application.
Update(*models.Application) error
// Get return the application by id.
Get(bson.ObjectId) (*models.Application, error)
// LoadSocialSettings return settings for generate one-time token on social network.
LoadSocialSettings() (*models.SocialSettings, error)
// LoadMfaConnection return settings for mfa providers.
LoadMfaConnection(string) ([]*models.MfaConnection, error)
// AddIdentityProvider adds the identity of the provider to the list available for the application.
AddIdentityProvider(*models.Application, *models.AppIdentityProvider) error
// UpdateIdentityProvider updates the provider identity of the application.
UpdateIdentityProvider(*models.Application, *models.AppIdentityProvider) error
}
ApplicationServiceInterface describes of methods for the ApplicationService.
type AuthLogService ¶
type AuthLogService struct {
// contains filtered or unexported fields
}
AuthLogService is the AuthLog service.
func NewAuthLogService ¶
func NewAuthLogService(h database.MgoSession) *AuthLogService
NewAuthLogService return new AuthLog service.
type AuthLogServiceInterface ¶
type AuthLogServiceInterface interface {
// Add adds an authorization log for the user.
Add(string, string, *models.User) error
}
AuthLogServiceInterface describes of methods for the AuthLog service.
type HydraAdminApi ¶
type HydraAdminApi interface {
// CreateOAuth2Client creates an o auth 2 0 client.
CreateOAuth2Client(*admin.CreateOAuth2ClientParams) (*admin.CreateOAuth2ClientCreated, error)
// GetOAuth2Client gets an o auth 2 0 client.
GetOAuth2Client(*admin.GetOAuth2ClientParams) (*admin.GetOAuth2ClientOK, error)
// UpdateOAuth2Client updates an o auth 2 0 client.
UpdateOAuth2Client(*admin.UpdateOAuth2ClientParams) (*admin.UpdateOAuth2ClientOK, error)
// GetLoginRequest gets an login request.
GetLoginRequest(*admin.GetLoginRequestParams) (*admin.GetLoginRequestOK, error)
// AcceptLoginRequest accepts an login request.
AcceptLoginRequest(*admin.AcceptLoginRequestParams) (*admin.AcceptLoginRequestOK, error)
// GetConsentRequest gets consent request information.
GetConsentRequest(*admin.GetConsentRequestParams) (*admin.GetConsentRequestOK, error)
// AcceptConsentRequest accepts an consent request.
AcceptConsentRequest(*admin.AcceptConsentRequestParams) (*admin.AcceptConsentRequestOK, error)
// IntrospectOAuth2Token introspects o auth2 tokens.
IntrospectOAuth2Token(*admin.IntrospectOAuth2TokenParams, runtime.ClientAuthInfoWriter) (*admin.IntrospectOAuth2TokenOK, error)
}
HydraAdminApi describes of methods for the Hydra administration api. See the documentation for the methods in Hydra - https://www.ory.sh/docs/next/hydra/sdk/api
type InternalRegistry ¶
type InternalRegistry interface {
// Watcher creates and return watcher service.
Watcher() persist.Watcher
// MgoSession return the Mongo session.
MgoSession() database.MgoSession
// HydraAdminApi return the client of the Hydra administration api.
HydraAdminApi() HydraAdminApi
// MfaService return the client of MFA micro-service.
MfaService() MfaApiInterface
// ApplicationService return instance of the application service.
ApplicationService() ApplicationServiceInterface
// OneTimeTokenService return instance of the one time token service.
OneTimeTokenService() OneTimeTokenServiceInterface
// Mailer return client of the postman service.
Mailer() MailerInterface
}
InternalRegistry describes of methods the registry service.
func NewRegistryBase ¶
func NewRegistryBase(config *RegistryConfig) InternalRegistry
NewRegistryBase creates new registry service.
type Mailer ¶
type Mailer struct {
// contains filtered or unexported fields
}
Mailer is the mailer service.
type MailerInterface ¶
type MailerInterface interface {
// Send sends mail for the specified email address with the specified header and content.
Send(to, subject, body string) error
}
MailerInterface describes of methods for the mailer.
func NewMailer ¶
func NewMailer(config *config.Mailer) (mailer MailerInterface)
NewMailer return new mailer service.
type MfaApiInterface ¶
type MfaApiInterface interface {
Create(ctx context.Context, in *mfa.MfaCreateDataRequest, opts ...client.CallOption) (*mfa.MfaCreateDataResponse, error)
Check(ctx context.Context, in *mfa.MfaCheckDataRequest, opts ...client.CallOption) (*mfa.MfaCheckDataResponse, error)
}
MfaApiInterface describes of methods for the mfa micro-service. See more on https://github.com/ProtocolONE/mfa-service.
type MfaService ¶
type MfaService struct {
// contains filtered or unexported fields
}
MfaService is the mfa service.
func NewMfaService ¶
func NewMfaService(dbHandler database.MgoSession) *MfaService
NewMfaService return new mfa service.
func (MfaService) Add ¶
func (s MfaService) Add(provider *models.MfaProvider) error
func (*MfaService) AddUserProvider ¶
func (s *MfaService) AddUserProvider(up *models.MfaUserProvider) error
func (*MfaService) Get ¶
func (s *MfaService) Get(id bson.ObjectId) (provider *models.MfaProvider, err error)
func (*MfaService) GetUserProviders ¶
func (s *MfaService) GetUserProviders(u *models.User) (providers []*models.MfaProvider, err error)
func (*MfaService) List ¶
func (s *MfaService) List(appId bson.ObjectId) (providers []*models.MfaProvider, err error)
func (*MfaService) RemoveUserProvider ¶
func (s *MfaService) RemoveUserProvider(provider *models.MfaUserProvider) error
type MfaServiceInterface ¶
type MfaServiceInterface interface {
// Add adds a new MFA provider for the application.
Add(*models.MfaProvider) error
// List returns a list of available mfa providers for the application.
List(bson.ObjectId) ([]*models.MfaProvider, error)
// // Get return the mfa providers by id.
Get(bson.ObjectId) (*models.MfaProvider, error)
// AddUserProvider adds mfa provider for the user.
AddUserProvider(*models.MfaUserProvider) error
// GetUserProviders returns a list of available mfa providers for the user.
GetUserProviders(*models.User) ([]*models.MfaProvider, error)
// RemoveUserProvider removes the mfa provider by id for user.
RemoveUserProvider(*models.MfaUserProvider) error
}
MfaServiceInterface describes of methods for the mfa service.
type OneTimeTokenService ¶
type OneTimeTokenService struct {
Redis *redis.Client
Settings *models.OneTimeTokenSettings
}
OneTimeTokenService is the one-time token service.
func NewOneTimeTokenService ¶
func NewOneTimeTokenService(redis *redis.Client) *OneTimeTokenService
NewOneTimeTokenService return new one-time token service.
func (*OneTimeTokenService) Create ¶
func (s *OneTimeTokenService) Create(obj interface{}, settings *models.OneTimeTokenSettings) (*models.OneTimeToken, error)
func (*OneTimeTokenService) Get ¶
func (s *OneTimeTokenService) Get(token string, obj interface{}) error
func (*OneTimeTokenService) Use ¶
func (s *OneTimeTokenService) Use(token string, d interface{}) error
type OneTimeTokenServiceInterface ¶
type OneTimeTokenServiceInterface interface {
// Create creates a one-time token with arbitrary data and the specified settings
// for the length of the token and its lifetime.
Create(interface{}, *models.OneTimeTokenSettings) (*models.OneTimeToken, error)
// Get returns the contents of a one-time token by its code.
Get(string, interface{}) error
// Use returns the contents of a one-time token by its code and deletes it.
Use(string, interface{}) error
}
OneTimeTokenServiceInterface describes of methods for the one-time token service.
type RegistryBase ¶
type RegistryBase struct {
// contains filtered or unexported fields
}
RegistryBase contains common services.
func (*RegistryBase) ApplicationService ¶
func (r *RegistryBase) ApplicationService() ApplicationServiceInterface
func (*RegistryBase) HydraAdminApi ¶
func (r *RegistryBase) HydraAdminApi() HydraAdminApi
func (*RegistryBase) Mailer ¶
func (r *RegistryBase) Mailer() MailerInterface
func (*RegistryBase) MfaService ¶
func (r *RegistryBase) MfaService() MfaApiInterface
func (*RegistryBase) MgoSession ¶
func (r *RegistryBase) MgoSession() database.MgoSession
func (*RegistryBase) OneTimeTokenService ¶
func (r *RegistryBase) OneTimeTokenService() OneTimeTokenServiceInterface
func (*RegistryBase) Watcher ¶
func (r *RegistryBase) Watcher() persist.Watcher
type RegistryConfig ¶
type RegistryConfig struct {
// MgoSession is the interface for the Mongo session.
MgoSession database.MgoSession
// RedisClient is the client of the Redis.
RedisClient *redis.Client
// MfaService is the interface for the MFA micro-service.
MfaService MfaApiInterface
// HydraAdminApi is the interface for the Hydra administration api.
HydraAdminApi HydraAdminApi
// Mailer is the interface for the postman.
Mailer MailerInterface
}
RegistryConfig contains the configuration parameters of Registry
type SessionService ¶
type SessionService interface {
// Get returns value from session by parameter name.
Get(echo.Context, string) (interface{}, error)
// Set sets the value in the session.
Set(echo.Context, string, interface{}) error
}
SessionService describes of methods for the session service.
func NewSessionService ¶
func NewSessionService(name string) SessionService
NewSessionService return new session service.
type SessionSettings ¶
type SessionSettings struct {
// contains filtered or unexported fields
}
SessionSettings is the session service.
type SpaceService ¶
type SpaceService struct {
// contains filtered or unexported fields
}
func NewSpaceService ¶
func NewSpaceService(dbHandler database.MgoSession) *SpaceService
func (SpaceService) CreateSpace ¶
func (ss SpaceService) CreateSpace(space *models.Space) error
func (SpaceService) UpdateSpace ¶
func (ss SpaceService) UpdateSpace(space *models.Space) error
type SpaceServiceInterface ¶
type UserIdentityService ¶
type UserIdentityService struct {
// contains filtered or unexported fields
}
UserIdentityService is the user identity service.
func NewUserIdentityService ¶
func NewUserIdentityService(dbHandler database.MgoSession) *UserIdentityService
NewUserIdentityService return new user identity service.
func (UserIdentityService) Create ¶
func (us UserIdentityService) Create(userIdentity *models.UserIdentity) error
func (UserIdentityService) Get ¶
func (us UserIdentityService) Get(app *models.Application, identityProvider *models.AppIdentityProvider, externalId string) (*models.UserIdentity, error)
func (UserIdentityService) Update ¶
func (us UserIdentityService) Update(userIdentity *models.UserIdentity) error
type UserIdentityServiceInterface ¶
type UserIdentityServiceInterface interface {
// Create creates a new user identity.
Create(*models.UserIdentity) error
// Update updates user identity data.
Update(*models.UserIdentity) error
// Get return the user identity by id.
Get(*models.Application, *models.AppIdentityProvider, string) (*models.UserIdentity, error)
}
UserIdentityServiceInterface describes of methods for the user identity service.
type UserService ¶
type UserService struct {
// contains filtered or unexported fields
}
UserService is the user service.
func NewUserService ¶
func NewUserService(dbHandler database.MgoSession) *UserService
NewUserService return new user service.
type UserServiceInterface ¶
type UserServiceInterface interface {
// Create creates a new user.
Create(*models.User) error
// Update updates user data.
Update(*models.User) error
// Get return the user by id.
Get(bson.ObjectId) (*models.User, error)
}
UserServiceInterface describes of methods for the user service.