Exemple #1
0
        [AllowAnonymous]    // Guests need to receive their JWT tokens
        public async Task <IActionResult> Get([FromForm] UserIdentity user)
        {
            var identity = await JwtService.GetClaimsIdentity(user);

            if (identity == null)
            {
                return(BadRequest($"Invalid user {user.Username}. Check credentials again"));
            }

            List <Claim> claims = await JwtService.GenerateClaimsForUserAsync(user, identity, this.jwtOptions);

            JwtSecurityToken jwt = JwtService.SignJwtToken(this.jwtOptions, claims);

            var encodedToken = new JwtSecurityTokenHandler().WriteToken(jwt);

            return(new OkObjectResult(encodedToken));
        }