Documentation
¶
Index ¶
- Variables
- type ChangePasswordManager
- type ChangePasswordManagerInterface
- type LoginManager
- func (m *LoginManager) Authorize(ctx echo.Context, form *models.AuthorizeForm) (string, *models.GeneralError)
- func (m *LoginManager) AuthorizeLink(ctx echo.Context, form *models.AuthorizeLinkForm) (string, *models.GeneralError)
- func (m *LoginManager) AuthorizeResult(ctx echo.Context, form *models.AuthorizeResultForm) (token *models.AuthorizeResultResponse, error *models.GeneralError)
- type LoginManagerInterface
- type MFAManager
- func (m *MFAManager) MFAAdd(ctx echo.Context, form *models.MfaAddForm) (token *models.MfaAuthenticator, error *models.GeneralError)
- func (m *MFAManager) MFAChallenge(form *models.MfaChallengeForm) *models.GeneralError
- func (m *MFAManager) MFAList(ctx echo.Context, form *models.MfaListForm) ([]*models.MfaProvider, *models.GeneralError)
- func (m *MFAManager) MFARemove(ctx echo.Context, form *models.MfaRemoveForm) *models.GeneralError
- func (m *MFAManager) MFAVerify(ctx echo.Context, form *models.MfaVerifyForm) *models.GeneralError
- type MFAManagerInterface
- type ManageManager
- func (m *ManageManager) AddAppIdentityProvider(ctx echo.Context, form *models.AppIdentityProvider) *models.GeneralError
- func (m *ManageManager) AddMFA(ctx echo.Context, f *models.MfaApplicationForm) (*models.MfaProvider, *models.GeneralError)
- func (m *ManageManager) CreateApplication(ctx echo.Context, form *models.ApplicationForm) (*models.Application, *models.GeneralError)
- func (m *ManageManager) CreateSpace(ctx echo.Context, form *models.SpaceForm) (*models.Space, *models.GeneralError)
- func (m *ManageManager) GetApplication(ctx echo.Context, id string) (*models.Application, *models.GeneralError)
- func (m *ManageManager) GetIdentityProvider(ctx echo.Context, appId string, id string) (*models.AppIdentityProvider, *models.GeneralError)
- func (m *ManageManager) GetIdentityProviderTemplates() []*models.AppIdentityProvider
- func (m *ManageManager) GetIdentityProviders(ctx echo.Context, appId string) ([]*models.AppIdentityProvider, *models.GeneralError)
- func (m *ManageManager) GetPasswordSettings(id string) (*models.PasswordSettings, *models.GeneralError)
- func (m *ManageManager) GetSpace(ctx echo.Context, id string) (*models.Space, *models.GeneralError)
- func (m *ManageManager) SetOneTimeTokenSettings(ctx echo.Context, appID string, form *models.OneTimeTokenSettings) *models.GeneralError
- func (m *ManageManager) SetPasswordSettings(ctx echo.Context, appID string, form *models.PasswordSettings) *models.GeneralError
- func (m *ManageManager) UpdateAppIdentityProvider(ctx echo.Context, id string, form *models.AppIdentityProvider) *models.GeneralError
- func (m *ManageManager) UpdateApplication(ctx echo.Context, id string, form *models.ApplicationForm) (*models.Application, *models.GeneralError)
- func (m *ManageManager) UpdateSpace(ctx echo.Context, id string, form *models.SpaceForm) (*models.Space, *models.GeneralError)
- type OauthManager
- func (m *OauthManager) Auth(ctx echo.Context, form *models.Oauth2LoginSubmitForm) (string, *models.GeneralError)
- func (m *OauthManager) CallBack(ctx echo.Context, form *models.Oauth2CallBackForm) (*models.Oauth2CallBackResponse, *models.GeneralError)
- func (m *OauthManager) CheckAuth(ctx echo.Context, form *models.Oauth2LoginForm) (string, *models.User, []*models.AppIdentityProvider, string, ...)
- func (m *OauthManager) Consent(ctx echo.Context, form *models.Oauth2ConsentForm) ([]string, *models.GeneralError)
- func (m *OauthManager) ConsentSubmit(ctx echo.Context, form *models.Oauth2ConsentSubmitForm) (string, *models.GeneralError)
- func (m *OauthManager) GetScopes(requestedScopes []string) []string
- func (m *OauthManager) HasOnlyDefaultScopes(scopes []string) bool
- func (m *OauthManager) Introspect(ctx echo.Context, form *models.Oauth2IntrospectForm) (*models.Oauth2TokenIntrospection, *models.GeneralError)
- func (m *OauthManager) Logout(ctx echo.Context, form *models.Oauth2LogoutForm) (string, *models.GeneralError)
- func (m *OauthManager) SignUp(ctx echo.Context, form *models.Oauth2SignUpForm) (string, *models.GeneralError)
- type OauthManagerInterface
- type PasswordLessManager
Constants ¶
This section is empty.
Variables ¶
View Source
var ( SocialAccountCanLink = "link" SocialAccountSuccess = "success" SocialAccountError = "error" )
Functions ¶
This section is empty.
Types ¶
type ChangePasswordManager ¶
type ChangePasswordManager struct {
ApiCfg *config.Server
// contains filtered or unexported fields
}
ChangePasswordManager is the change password manager.
func (*ChangePasswordManager) ChangePasswordStart ¶
func (m *ChangePasswordManager) ChangePasswordStart(form *models.ChangePasswordStartForm) *models.GeneralError
func (*ChangePasswordManager) ChangePasswordVerify ¶
func (m *ChangePasswordManager) ChangePasswordVerify(form *models.ChangePasswordVerifyForm) *models.GeneralError
type ChangePasswordManagerInterface ¶
type ChangePasswordManagerInterface interface {
// ChangePasswordStart initiates a process for changing a user's password.
// The method creates a one-time token and sends it to the user's email.
ChangePasswordStart(*models.ChangePasswordStartForm) *models.GeneralError
// ChangePasswordVerify validates a one-time token sent by email and, if successful, changes the user's password.
ChangePasswordVerify(*models.ChangePasswordVerifyForm) *models.GeneralError
}
ChangePasswordManagerInterface describes of methods for the manager.
func NewChangePasswordManager ¶
func NewChangePasswordManager(db database.MgoSession, ir service.InternalRegistry, apiCfg *config.Server) ChangePasswordManagerInterface
NewChangePasswordManager return new change password manager.
type LoginManager ¶
type LoginManager struct {
// contains filtered or unexported fields
}
LoginManager is the login manager.
func (*LoginManager) Authorize ¶
func (m *LoginManager) Authorize(ctx echo.Context, form *models.AuthorizeForm) (string, *models.GeneralError)
func (*LoginManager) AuthorizeLink ¶
func (m *LoginManager) AuthorizeLink(ctx echo.Context, form *models.AuthorizeLinkForm) (string, *models.GeneralError)
func (*LoginManager) AuthorizeResult ¶
func (m *LoginManager) AuthorizeResult(ctx echo.Context, form *models.AuthorizeResultForm) (token *models.AuthorizeResultResponse, error *models.GeneralError)
type LoginManagerInterface ¶
type LoginManagerInterface interface {
// Authorize generates an authorization URL for the social network to redirect the user.
Authorize(echo.Context, *models.AuthorizeForm) (string, *models.GeneralError)
// AuthorizeResult validates the response after authorization in the social network.
//
// In case of successful authentication, the user will be generated a one-time token to complete the
// authorization in the basic authorization form.
//
// If a user has not previously logged in through a social network, but an account has been found with the same
// mail as in a social network, then the user will be asked to link these accounts.
AuthorizeResult(echo.Context, *models.AuthorizeResultForm) (*models.AuthorizeResultResponse, *models.GeneralError)
// AuthorizeLink implements the situation with linking the account from the social network and password login (when their email addresses match).
//
// If the user chooses the linking of the account, then the password from the account will be validated and,
// if successful, this social account will be tied to the basic record.
//
// If the user refused to link, then a new account will be created.
AuthorizeLink(echo.Context, *models.AuthorizeLinkForm) (string, *models.GeneralError)
}
LoginManagerInterface describes of methods for the manager.
func NewLoginManager ¶
func NewLoginManager(h database.MgoSession, r service.InternalRegistry) LoginManagerInterface
NewLoginManager return new login manager.
type MFAManager ¶
type MFAManager struct {
// contains filtered or unexported fields
}
MFAManager is the mfa manager.
func (*MFAManager) MFAAdd ¶
func (m *MFAManager) MFAAdd(ctx echo.Context, form *models.MfaAddForm) (token *models.MfaAuthenticator, error *models.GeneralError)
func (*MFAManager) MFAChallenge ¶
func (m *MFAManager) MFAChallenge(form *models.MfaChallengeForm) *models.GeneralError
func (*MFAManager) MFAList ¶
func (m *MFAManager) MFAList(ctx echo.Context, form *models.MfaListForm) ([]*models.MfaProvider, *models.GeneralError)
func (*MFAManager) MFARemove ¶
func (m *MFAManager) MFARemove(ctx echo.Context, form *models.MfaRemoveForm) *models.GeneralError
func (*MFAManager) MFAVerify ¶
func (m *MFAManager) MFAVerify(ctx echo.Context, form *models.MfaVerifyForm) *models.GeneralError
type MFAManagerInterface ¶
type MFAManagerInterface interface {
// MFAChallenge is temporary unused.
MFAChallenge(*models.MfaChallengeForm) *models.GeneralError
// MFAVerify verifies the one-time MFA token.
MFAVerify(echo.Context, *models.MfaVerifyForm) *models.GeneralError
// MFAAdd adds mfa provider for the user.
//
// If successful, a secret key will be generated, a list of backup codes and a
// qr-code to add an authenticator to the program.
MFAAdd(echo.Context, *models.MfaAddForm) (*models.MfaAuthenticator, *models.GeneralError)
// MFARemove removes mfa provider for user
MFARemove(echo.Context, *models.MfaRemoveForm) *models.GeneralError
// MFAList returns list of mfa providers for user
MFAList(echo.Context, *models.MfaListForm) ([]*models.MfaProvider, *models.GeneralError)
}
MFAManagerInterface describes of methods for the manager.
func NewMFAManager ¶
func NewMFAManager(h database.MgoSession, r service.InternalRegistry) MFAManagerInterface
NewMFAManager return new mfa manager.
type ManageManager ¶
type ManageManager struct {
// contains filtered or unexported fields
}
func NewManageManager ¶
func NewManageManager(db database.MgoSession, r service.InternalRegistry) *ManageManager
func (*ManageManager) AddAppIdentityProvider ¶
func (m *ManageManager) AddAppIdentityProvider(ctx echo.Context, form *models.AppIdentityProvider) *models.GeneralError
func (*ManageManager) AddMFA ¶
func (m *ManageManager) AddMFA(ctx echo.Context, f *models.MfaApplicationForm) (*models.MfaProvider, *models.GeneralError)
func (*ManageManager) CreateApplication ¶
func (m *ManageManager) CreateApplication(ctx echo.Context, form *models.ApplicationForm) (*models.Application, *models.GeneralError)
func (*ManageManager) CreateSpace ¶
func (m *ManageManager) CreateSpace(ctx echo.Context, form *models.SpaceForm) (*models.Space, *models.GeneralError)
func (*ManageManager) GetApplication ¶
func (m *ManageManager) GetApplication(ctx echo.Context, id string) (*models.Application, *models.GeneralError)
func (*ManageManager) GetIdentityProvider ¶
func (m *ManageManager) GetIdentityProvider(ctx echo.Context, appId string, id string) (*models.AppIdentityProvider, *models.GeneralError)
func (*ManageManager) GetIdentityProviderTemplates ¶
func (m *ManageManager) GetIdentityProviderTemplates() []*models.AppIdentityProvider
func (*ManageManager) GetIdentityProviders ¶
func (m *ManageManager) GetIdentityProviders(ctx echo.Context, appId string) ([]*models.AppIdentityProvider, *models.GeneralError)
func (*ManageManager) GetPasswordSettings ¶
func (m *ManageManager) GetPasswordSettings(id string) (*models.PasswordSettings, *models.GeneralError)
func (*ManageManager) GetSpace ¶
func (m *ManageManager) GetSpace(ctx echo.Context, id string) (*models.Space, *models.GeneralError)
func (*ManageManager) SetOneTimeTokenSettings ¶
func (m *ManageManager) SetOneTimeTokenSettings(ctx echo.Context, appID string, form *models.OneTimeTokenSettings) *models.GeneralError
func (*ManageManager) SetPasswordSettings ¶
func (m *ManageManager) SetPasswordSettings(ctx echo.Context, appID string, form *models.PasswordSettings) *models.GeneralError
func (*ManageManager) UpdateAppIdentityProvider ¶
func (m *ManageManager) UpdateAppIdentityProvider(ctx echo.Context, id string, form *models.AppIdentityProvider) *models.GeneralError
func (*ManageManager) UpdateApplication ¶
func (m *ManageManager) UpdateApplication(ctx echo.Context, id string, form *models.ApplicationForm) (*models.Application, *models.GeneralError)
func (*ManageManager) UpdateSpace ¶
func (m *ManageManager) UpdateSpace(ctx echo.Context, id string, form *models.SpaceForm) (*models.Space, *models.GeneralError)
type OauthManager ¶
OauthManager is the oauth manager.
func (*OauthManager) Auth ¶
func (m *OauthManager) Auth(ctx echo.Context, form *models.Oauth2LoginSubmitForm) (string, *models.GeneralError)
func (*OauthManager) CallBack ¶
func (m *OauthManager) CallBack(ctx echo.Context, form *models.Oauth2CallBackForm) (*models.Oauth2CallBackResponse, *models.GeneralError)
func (*OauthManager) CheckAuth ¶
func (m *OauthManager) CheckAuth(ctx echo.Context, form *models.Oauth2LoginForm) (string, *models.User, []*models.AppIdentityProvider, string, *models.GeneralError)
func (*OauthManager) Consent ¶
func (m *OauthManager) Consent(ctx echo.Context, form *models.Oauth2ConsentForm) ([]string, *models.GeneralError)
func (*OauthManager) ConsentSubmit ¶
func (m *OauthManager) ConsentSubmit(ctx echo.Context, form *models.Oauth2ConsentSubmitForm) (string, *models.GeneralError)
func (*OauthManager) GetScopes ¶
func (m *OauthManager) GetScopes(requestedScopes []string) []string
func (*OauthManager) HasOnlyDefaultScopes ¶
func (m *OauthManager) HasOnlyDefaultScopes(scopes []string) bool
func (*OauthManager) Introspect ¶
func (m *OauthManager) Introspect(ctx echo.Context, form *models.Oauth2IntrospectForm) (*models.Oauth2TokenIntrospection, *models.GeneralError)
func (*OauthManager) Logout ¶
func (m *OauthManager) Logout(ctx echo.Context, form *models.Oauth2LogoutForm) (string, *models.GeneralError)
func (*OauthManager) SignUp ¶
func (m *OauthManager) SignUp(ctx echo.Context, form *models.Oauth2SignUpForm) (string, *models.GeneralError)
type OauthManagerInterface ¶
type OauthManagerInterface interface {
// CheckAuth is a cookie based authentication check.
//
// If the user has previously been authorized and selected the option "remember me",
// then this method automatically authorizes the user.
//
// If the user does not have an authorization session, his email address will be returned in order
// to offer him authorization under the previous account.
//
// If no authorization was found, then a list of social networks is returned (if available) in order to prompt
// the user to log in through them, and not just by login and password.
CheckAuth(echo.Context, *models.Oauth2LoginForm) (string, *models.User, []*models.AppIdentityProvider, string, *models.GeneralError)
// Auth authorizes a user based on login and password, previous login or
// one-time authorization token (obtained after authorization through social networks).
//
// After successful authorization, the URL for the redirect will be returned to pass the agreement consent process.
Auth(echo.Context, *models.Oauth2LoginSubmitForm) (string, *models.GeneralError)
// Consent prompts the user to accept the consent.
Consent(echo.Context, *models.Oauth2ConsentForm) ([]string, *models.GeneralError)
// Consent accepts the consent.
ConsentSubmit(echo.Context, *models.Oauth2ConsentSubmitForm) (string, *models.GeneralError)
// GetScopes returns a list of available scope for the application.
GetScopes([]string) []string
// HasOnlyDefaultScopes returns true if the request contains only default scopes
HasOnlyDefaultScopes([]string) bool
// Introspect checks the token and returns its contents.
//
// Contains an access token's session data as specified by IETF RFC 7662, see:
// https://tools.ietf.org/html/rfc7662
Introspect(echo.Context, *models.Oauth2IntrospectForm) (*models.Oauth2TokenIntrospection, *models.GeneralError)
// SignUp registers a new user using login and password.
//
// After successful registration, the URL for the redirect will be returned to pass the agreement consent process.
SignUp(echo.Context, *models.Oauth2SignUpForm) (string, *models.GeneralError)
// CallBack verifies the result of oauth2 authorization.
//
// The method is implemented for applications that do not have their own backend,
// for example, an application for a computer or a SPA.
//
// The page, using the JS SDK, will transmit through the PostMessage and the callback function the result of
// the authorization, the token and the time of its completion.
CallBack(echo.Context, *models.Oauth2CallBackForm) (*models.Oauth2CallBackResponse, *models.GeneralError)
// Logout removes the authentication cookie and redirects the user to the specified URL.
//
// Url should be in the list of trusted ones, as well as during authorization and registration.
Logout(echo.Context, *models.Oauth2LogoutForm) (string, *models.GeneralError)
}
OauthManagerInterface describes of methods for the manager.
func NewOauthManager ¶
func NewOauthManager(db database.MgoSession, r service.InternalRegistry, s *config.Session, h *config.Hydra, apiCfg *config.Server) OauthManagerInterface
NewOauthManager return new oauth manager.
type PasswordLessManager ¶
type PasswordLessManager struct {
}
func NewPasswordLessManager ¶
func NewPasswordLessManager() *PasswordLessManager
func (*PasswordLessManager) PasswordLessStart ¶
func (m *PasswordLessManager) PasswordLessStart(form *models.PasswordLessStartForm) (ott *models.OneTimeToken, error *models.GeneralError)
func (*PasswordLessManager) PasswordLessVerify ¶
func (m *PasswordLessManager) PasswordLessVerify(form *models.PasswordLessVerifyForm) (error *models.GeneralError)
Click to show internal directories.
Click to hide internal directories.