コード例 #1
0
        // send email confirm
        //[Route("send")]
        //[HttpGet]
        //public async Task<IActionResult> SendEmail()
        //{
        //    try
        //    {
        //        UserEmailOptions options = new UserEmailOptions
        //        {
        //            ToEmails = new List<string>() { "*****@*****.**" },
        //            PlaceHolders = new List<KeyValuePair<string, string>>()
        //            {
        //                new KeyValuePair<string, string>("{{UserName}}", "ptson")
        //            }
        //        };

        //        await emailService.SendTestEmail(options);
        //        return Ok(new
        //        {
        //            code = 200
        //        });
        //    }
        //    catch (NullReferenceException e)
        //    {
        //        return BadRequest(new
        //        {
        //            error = "Fail" + e.InnerException.Message
        //        });
        //    }

        //}


        //// GET: api/v1/auths/email
        //public async Task<IActionResult> Get(string email)
        //{
        //    KhachHang kh = new KhachHang();
        //    kh = await khachHangRepository.Get(w => w.email == email);
        //    try
        //    {
        //        if (kh != null)
        //        {
        //            return Ok(new
        //            {
        //                code = 200,
        //                data = kh,
        //                success = "Get success"
        //            });
        //        }
        //        else
        //        {
        //            return BadRequest(new
        //            {
        //                code = 400,
        //                error = "account is not exist"
        //            });
        //        }
        //    }
        //    catch (Exception e)
        //    {
        //        return BadRequest(new
        //        {
        //            error = e.Message
        //        });

        //    }

        //}



        private string ProcessLogin(Account account)
        {
            // Time died
            var accessTokenExpiration = DateTime.Now.AddMinutes(ExpiredTime.AccessTokenExpirationTime);
            // ceate accessToken
            var accessToken = jWTService.GenerateAccessToken(authSettings.AuthSecret, account, accessTokenExpiration);

            return(accessToken);
        }
コード例 #2
0
        private LoginResponse ProcessLogin(User user)
        {
            var accessTokenExpiration = DateTime.Now.AddMinutes(ExpiredTime.AccessTokenExpirationTime);
            var accessToken           = jWTService.GenerateAccessToken(authSettings.AuthSecret, user, accessTokenExpiration);
            var refreshToken          = TokenHelper.GenerateToken();
            // authService.RemoveAllRefreshToken(requestIP);
            DistributedCacheEntryOptions cacheEntryOptions = new DistributedCacheEntryOptions
            {
                AbsoluteExpirationRelativeToNow = TimeSpan.FromMinutes(ExpiredTime.AccessTokenExpirationTime)
            };

            authService.SaveUserCache(user, cacheEntryOptions);
            // authService.SaveAuthRefreshToken(user, refreshToken, requestIP);
            return(new LoginResponse {
                UserId = user.Id, AccessToken = accessToken, RefreshToken = refreshToken
            });
        }