Example #1
0
    def post(self, request):
        password = request.POST['password']
        vendor = request.POST['vendor']
        if vendor == 'aws':
            access_key = request.POST['aws_access_key']
            secret_key = request.POST['aws_secret_key']
            region = request.POST['aws_region']
            credential = {
                'access_key': access_key,
                'secret_key': secret_key,
                'region': region
            }

            if not request.user.check_password(password):
                Util.add_alert(request, '비밀번호가 틀렸습니다.')
                return redirect('apps')

            if not Util.is_valid_access_key(access_key, secret_key):
                Util.add_alert(request, '올바른 백엔드 인증 정보를 입력해주세요.')
                return redirect('apps')

            request.user.set_credential(password, vendor, credential)
            request.user.save()

            credentials = request.user.get_credentials(password)
            Util.reset_credentials(request, credentials)
            Util.add_alert(request, '백엔드 인증 정보를 변경하였습니다.')
            return redirect('apps')
Example #2
0
    def post(self, request):
        email = request.POST['email']
        password = request.POST['password']
        vendor = request.POST['vendor']

        aws_access_key = request.POST['aws_access_key']
        aws_secret_key = request.POST['aws_secret_key']
        aws_region = request.POST['aws_region']

        normalized_email = get_user_model().objects.normalize_email(email)
        users = get_user_model().objects.all().filter(email=normalized_email)
        if len(users) > 0:
            if len(users) > 1:
                warnings.warn('there are {} users with email {}'.format(
                    len(users), email))

            Util.add_alert(request, '이미 계정이 존재합니다.')
            return redirect('register')
        elif len(password) < 7:
            Util.add_alert(request, '비밀번호는 7자 이상입니다.')
            return redirect('register')
        elif not Util.is_valid_access_key(aws_access_key, aws_secret_key):
            Util.add_alert(request, '유효한 AccessKey 를 입력해주세요.')
            return redirect('register')
        else:
            credentials = {}
            if vendor == 'aws':
                credentials['aws'] = {
                    'access_key': aws_access_key,
                    'secret_key': aws_secret_key,
                    'region': aws_region,
                }
            get_user_model().objects.create_user(
                email,
                password,
                credentials=credentials,
            )
            Util.add_alert(request, '회원가입에 성공하였습니다.')
            return redirect('index')