Class DefaultSignupManager

  • All Implemented Interfaces:
    SignupManager

    public class DefaultSignupManager
    extends Object
    implements SignupManager
    Handles easy-user creation in its myriad forms.
    Since:
    4.1
    • Constructor Detail

      • DefaultSignupManager

        public DefaultSignupManager​(com.atlassian.bandana.BandanaManager bandanaManager,
                                    com.atlassian.security.random.SecureTokenGenerator secureTokenGenerator,
                                    UserVerificationTokenManager userVerificationTokenManager,
                                    com.atlassian.crowd.embedded.api.CrowdService crowdService,
                                    SettingsManager settingsManager,
                                    com.atlassian.renderer.WikiStyleRenderer wikiStyleRenderer,
                                    EmailService notificationsService,
                                    NotificationsSender notificationsSender,
                                    com.atlassian.event.api.EventPublisher eventPublisher,
                                    UserChecker userChecker,
                                    PersonalInformationManager personalInformationManager,
                                    com.atlassian.core.task.MultiQueueTaskManager taskManager,
                                    I18NBeanFactory i18NBeanFactory,
                                    DataSourceFactory dataSourceFactory)
        Since:
        7.17
    • Method Detail

      • refreshAndGetToken

        public String refreshAndGetToken()
        Description copied from interface: SignupManager
        Creates a new sign-up token and returns it. This invalidates the previous token.
        Specified by:
        refreshAndGetToken in interface SignupManager
        Returns:
        a random sign-up token
      • canSignUpWith

        public boolean canSignUpWith​(String token)
        Description copied from interface: SignupManager
        Return true if the given token is valid for a user to self-sign-up.
        Specified by:
        canSignUpWith in interface SignupManager
        Parameters:
        token - a sign-up token from a URL given to an invited user
      • isEmailSentOnInviteSignUp

        public boolean isEmailSentOnInviteSignUp()
        Specified by:
        isEmailSentOnInviteSignUp in interface SignupManager
        Returns:
        true if notification emails should be sent to admins when a user signs themselves up.
      • isPublicSignupPermitted

        public boolean isPublicSignupPermitted()
        Description copied from interface: SignupManager
        Returns true if users can sign themselves for this instance.
        Specified by:
        isPublicSignupPermitted in interface SignupManager
      • setEmailSentOnInviteSignUp

        public void setEmailSentOnInviteSignUp​(boolean notify)
        Specified by:
        setEmailSentOnInviteSignUp in interface SignupManager
        Parameters:
        notify - true if notification emails should be sent to admins when a user signs themselves up, false if not
      • getSignUpToken

        public String getSignUpToken()
        Description copied from interface: SignupManager
        Gets the current sign-up token, or creates a new one and returns it.
        Specified by:
        getSignUpToken in interface SignupManager
        Returns:
        a random sign-up token
      • sendConfirmationEmail

        public void sendConfirmationEmail​(String token,
                                          com.atlassian.user.User user)
        Description copied from interface: SignupManager
        Sends a confirmation email to the given new user.
        Specified by:
        sendConfirmationEmail in interface SignupManager
        Parameters:
        token - the token that the user must validate against
        user - the new user
      • setDomainRestrictedSignupMode

        public void setDomainRestrictedSignupMode​(String allowedDomains)
        Description copied from interface: SignupManager
        Set the domains that user's email address should belong to to be able to sign up.
        Specified by:
        setDomainRestrictedSignupMode in interface SignupManager
        Parameters:
        allowedDomains - comma separated list of domains
      • getRestrictedDomains

        public String getRestrictedDomains()
        Description copied from interface: SignupManager
        Returns comma separated list of domains. Users with email in those domains are allowed to sign up. Provided domain restricted sign up is enabled.
        Specified by:
        getRestrictedDomains in interface SignupManager
        Returns:
        comma separated list of domains
      • isEmailOnRestrictedDomain

        public boolean isEmailOnRestrictedDomain​(String email)
        Description copied from interface: SignupManager
        Checks if the given email address is on one of the configured restricted domains.
        Specified by:
        isEmailOnRestrictedDomain in interface SignupManager
        Parameters:
        email - the email address. Can be null.
        Returns:
        true, if the domain name of the email matches one of the restricted domains.
      • isPendingConfirmation

        public boolean isPendingConfirmation​(com.atlassian.user.User user)
        Description copied from interface: SignupManager
        Is given user tried to sign up but hasn't confirmed their email yet?
        Specified by:
        isPendingConfirmation in interface SignupManager
        Returns:
        true if the given user tried to sign up but hasn't confirmed their email yet.
      • isTokenForUserValid

        public boolean isTokenForUserValid​(com.atlassian.user.User user,
                                           String token)
        Specified by:
        isTokenForUserValid in interface SignupManager
        Returns:
        true if given token a valid token that was issued when the given user tried to signup
      • doesUserHaveOutdatedSignupToken

        public boolean doesUserHaveOutdatedSignupToken​(com.atlassian.user.User user)
        Specified by:
        doesUserHaveOutdatedSignupToken in interface SignupManager
        Returns:
        true if a given user has tried to sign up but hasn't confirmed their email within a reasonable time (1 month)
      • enableConfirmedUser

        public void enableConfirmedUser​(com.atlassian.user.User user)
                                 throws com.atlassian.crowd.exception.runtime.UserNotFoundException,
                                        com.atlassian.crowd.exception.runtime.OperationFailedException,
                                        com.atlassian.crowd.exception.InvalidUserException,
                                        com.atlassian.crowd.exception.OperationNotPermittedException
        Description copied from interface: SignupManager
        Enable previously disabled user who signed up and confirmed their email.
        Specified by:
        enableConfirmedUser in interface SignupManager
        Throws:
        com.atlassian.crowd.exception.runtime.UserNotFoundException
        com.atlassian.crowd.exception.runtime.OperationFailedException
        com.atlassian.crowd.exception.InvalidUserException
        com.atlassian.crowd.exception.OperationNotPermittedException
      • createUserPendingConfirmation

        public String createUserPendingConfirmation​(com.atlassian.user.User user,
                                                    String password)
                                             throws com.atlassian.crowd.exception.runtime.OperationFailedException,
                                                    com.atlassian.crowd.exception.InvalidUserException,
                                                    com.atlassian.crowd.exception.InvalidCredentialException,
                                                    com.atlassian.crowd.exception.OperationNotPermittedException
        Description copied from interface: SignupManager
        Creates a new user and marks them disabled pending their email confirmation?
        Specified by:
        createUserPendingConfirmation in interface SignupManager
        Parameters:
        user - the new user
        password - the password for the new user
        Returns:
        the token that the user must validate against in order to confirm their email
        Throws:
        com.atlassian.crowd.exception.runtime.OperationFailedException
        com.atlassian.crowd.exception.InvalidUserException
        com.atlassian.crowd.exception.InvalidCredentialException
        com.atlassian.crowd.exception.OperationNotPermittedException
      • isDomainRestrictedSignupEnabled

        public boolean isDomainRestrictedSignupEnabled()
        Specified by:
        isDomainRestrictedSignupEnabled in interface SignupManager
        Returns:
        true if sign up is enabled only for some specified domains