コード例 #1
0
        public async Task <IHttpActionResult> CreateUser(CreateUserBindingModel createUserModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var user = new ApplicationUser()
            {
                UserName = createUserModel.Username,
                Email    = createUserModel.Email,
                Name     = createUserModel.Name,
            };


            IdentityResult addUserResult = await this.AppUserManager.CreateAsync(user, createUserModel.Password);

            if (!addUserResult.Succeeded)
            {
                return(GetErrorResult(addUserResult));
            }

            string code = await this.AppUserManager.GenerateEmailConfirmationTokenAsync(user.Id);

            AppUserManager.ConfirmEmail(user.Id, code);

            Uri locationHeader = new Uri(Url.Link("GetUserById", new { id = user.Id }));

            return(Created(locationHeader, TheModelFactory.Create(user)));
        }
コード例 #2
0
        public IHttpActionResult ConfirmEmail(ConfirmEmailReq confirmEmailDto)
        {
            long           userId         = GetUserIdFromContext();
            var            code           = HttpUtility.UrlDecode(confirmEmailDto.Code);
            IdentityResult identityResult = AppUserManager.ConfirmEmail(userId, code);

            if (identityResult.Succeeded)
            {
                var response = new BaseResponseDto();
                response.Message = Responses.EmailConfirmedMessage;
                return(Ok(response));
            }

            return(BadRequestWithIdentityErrors(identityResult));
        }