private async Task <string> GenerateJwtTokenAsync(
            FaToolUserManager userManager,
            FaToolUser user)
        {
            var identity = await userManager.CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie);

            var claims       = identity.Claims;
            var key          = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("SOME_RANDOM_KEY_DO_NOT_SHARE"));
            var creds        = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);
            var expires      = DateTime.Now.AddMinutes(30);
            var issuer       = "http://fatool.com";
            var tokenHandler = new JwtSecurityTokenHandler();

            var token = new JwtSecurityToken(
                issuer,
                issuer,
                claims,
                expires: expires,
                signingCredentials: creds
                );

            return(tokenHandler.WriteToken(token));
        }
예제 #2
0
 public FaToolAuthenticationModule()
 {
     authenticationManager = new FaToolAuthenticationManager();
     userStore             = new FaToolUserStore();
     userManager           = new FaToolUserManager(userStore);
 }