Beispiel #1
0
class AdminUserInitializedParameters(Parameters):
    """
    New user creation (sign up) parameters.
    """

    email = base_fields.Email(description='Example: [email protected]',
                              required=True)
    password = base_fields.String(description='No rules yet', required=True)
Beispiel #2
0
class LoginParameters(Parameters):
    """
    Helper parameters to login user.
    """
    email = base_fields.Email(
        description="the users email"
    )
    password = base_fields.String(
        description="the users password"
    )
Beispiel #3
0
class CreateUserParameters(Parameters):
    """
    Helper parameters to create user.
    """
    name = base_fields.String(
        description="the users name"
    )
    email = base_fields.Email(
        description="the users email"
    )
    password = base_fields.String(
        description="the users password"
    )
Beispiel #4
0
class AddUserParameters(schemas.BaseUserSchema):
    """
    New user creation (sign up) parameters.
    """

    username = base_fields.String(description="Example: root", required=True)
    email = base_fields.Email(description="Example: [email protected]",
                              required=True)
    password = base_fields.String(description="No rules yet", required=True)

    class Meta(schemas.BaseUserSchema.Meta):
        fields = schemas.BaseUserSchema.Meta.fields + (
            'email',
            'password',
        )
Beispiel #5
0
class CreateUserParameters(Parameters, schemas.BaseUserSchema):
    """
    New user creation (sign up) parameters.
    """

    email = base_fields.Email(description='Example: [email protected]',
                              required=True)
    password = base_fields.String(description='No rules yet', required=True)

    recaptcha_key = base_fields.String(
        description=
        ('See `/<prefix>/auth/recaptcha` for details. It is required for everybody, except admins'
         ),
        required=False,
    )

    class Meta(schemas.BaseUserSchema.Meta):
        fields = schemas.BaseUserSchema.Meta.fields + (
            'email',
            'password',
            'recaptcha_key',
        )

    @validates_schema
    def validate_captcha(self, data):
        """ "
        Check reCAPTCHA if necessary.

        NOTE: we remove 'recaptcha_key' from data once checked because we don't need it
        in the resource
        """
        recaptcha_key = data.pop('recaptcha_key', None)

        captcha_is_valid = False
        if not recaptcha_key:
            no_captcha_permission = permissions.AdminRolePermission()
            if no_captcha_permission.check():
                captcha_is_valid = True
        elif recaptcha_key == current_app.config.get('RECAPTCHA_BYPASS', None):
            captcha_is_valid = True

        if not captcha_is_valid:
            abort(code=HTTPStatus.FORBIDDEN,
                  message='CAPTCHA key is incorrect.')
class AddUserParameters(PostFormParameters, schemas.BaseUserSchema):
    """
    New user creation (sign up) parameters.
    """

    username = base_fields.String(description="Example: root", required=True)
    email = base_fields.Email(description="Example: [email protected]", required=True)
    password = base_fields.String(description="No rules yet", required=True)
    recaptcha_key = base_fields.String(
        description=(
            "See `/users/signup_form` for details. It is required for everybody, except admins"
        ),
        required=False
    )

    class Meta(schemas.BaseUserSchema.Meta):
        fields = schemas.BaseUserSchema.Meta.fields + (
            'email',
            'password',
            'recaptcha_key',
        )

    @validates_schema
    def validate_captcha(self, data):
        """"
        Check reCAPTCHA if necessary.

        NOTE: we remove 'recaptcha_key' from data once checked because we don't need it
        in the resource
        """
        recaptcha_key = data.pop('recaptcha_key', None)
        captcha_is_valid = False
        if not recaptcha_key:
            no_captcha_permission = permissions.AdminRolePermission()
            if no_captcha_permission.check():
                captcha_is_valid = True
        # NOTE: This hardcoded CAPTCHA key is just for demo purposes.
        elif recaptcha_key == 'secret_key':
            captcha_is_valid = True

        if not captcha_is_valid:
            abort(code=HTTPStatus.FORBIDDEN, message="CAPTCHA key is incorrect.")
Beispiel #7
0
class AddUserParameters(Parameters, schemas.BaseUserSchema):
    """
    New user creation (sign up) parameters.
    """

    username = base_fields.String(description="Example: root", required=True)
    email = base_fields.Email(description="Example: [email protected]", required=True)
    password = base_fields.String(description="No rules yet", required=True)
    recaptcha_key = base_fields.String(
        description=(
            "See `/users/signup_form` for details. It is required for everybody, except admins"
        ),
        required=False
    )

    class Meta(schemas.BaseUserSchema.Meta):
        fields = schemas.BaseUserSchema.Meta.fields + (
            'email',
            'password',
            'recaptcha_key',
        )
Beispiel #8
0
class CreateOAuth2SessionParameters(Parameters):
    email = base_fields.Email(description='Example: [email protected]',
                              required=True)
    password = base_fields.String(description='No rules yet', required=True)