コード例 #1
0
        public async Task ValidateAndReturnObject_passedValidKey_returnTrue()
        {
            // arrange
            var invKeyDate  = new DateTime(2005, 4, 2, 21, 37, 00);
            var firstInvKey = new InvitationKey
            {
                Id        = Constants.FIRST_INV_KEY_ID,
                InviterId = Constants.APP_ADMIN_ID,
                CreatedAt = invKeyDate,
                Key       = "1234567890",
            };

            _context.InvitationKeys.Add(firstInvKey);
            _context.SaveChanges();

            // act
            var keyCheck = await _invitationKeyService.ValidateAndReturnObject("1234567890");

            // assert
            Assert.IsTrue(keyCheck.Succeed);
        }
コード例 #2
0
ファイル: UserFacade.cs プロジェクト: h4570/floiir
        /// <summary>
        /// Checks ReCaptcha and all payload properties.
        /// </summary>
        /// <returns>
        ///
        /// 460 - when invitation key is invalid (Constants.INV_KEY_LENGTH),
        /// 461 - when invitation key was not found in database,
        /// 462 - when invitation key was used by another user,
        ///
        /// 463 - when new user object properties are invalid,
        /// 464 - when given email from new user object is already used,
        /// 465 - when given login from new user object is already used,
        ///
        /// 499 - when reCaptcha validation failed,
        /// </returns>
        private async Task <DataOrStatusCodeDto <IUser> > CheckReCaptchaValidateKeyAndUser(UserRegisterDto payload, string host)
        {
            var reCaptchaSucceed = await _reCaptchaService.IsReCaptchaSucceed(payload.ReCaptchaToken, _config.ReCaptchaSecret, host);

            if (reCaptchaSucceed)
            {
                var keyResult = await _invitationKeyService.ValidateAndReturnObject(payload.InvitationKey);

                if (keyResult.Succeed)
                {
                    payload.User.TrimProperties();
                    return(_userService.ValidateBeforeRegister(payload.User));
                }
                else
                {
                    return(keyResult.ToFailType <IUser>());
                }
            }
            else
            {
                return(new DataOrStatusCodeDto <IUser>(499, "ReCaptcha failed."));
            }
        }