예제 #1
0
        private async Task <object> CreateTokenAndSignIn(ApplicationUser user)
        {
            var principal = await _claimsFactory.CreateAsync(user);

            var claims = principal.Claims
                         .Where(c => WANTED_CLAIMS.Contains(c.Type))
                         .ToList();

            var expires = DateTime.Now.AddMinutes(1);
            var token   = _tokenHelper.Create(claims, expires);

            var refreshToken = await _userManager.CreateRefreshToken(user);

            return(new
            {
                accessToken = new
                {
                    token,
                    expires
                },
                refreshToken = new
                {
                    refreshToken.Token,
                    refreshToken.Expires
                }
            });
        }