private JwtSecurityToken GetTokenPayload(LoginSpecification specification) { var now = DateTime.UtcNow; // Specifically add the jti (random nonce), iat (issued timestamp), and sub (subject/user) claims. // You can add other claims here, if you want: var claims = new Claim[] { new Claim(JwtRegisteredClaimNames.Sub, specification.Login), new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()), new Claim( JwtRegisteredClaimNames.Iat, now.ToUnixTimeSeconds().ToString(CultureInfo.InvariantCulture), ClaimValueTypes.Integer64) }; // Create the JWT and write it to a string var jwt = new JwtSecurityToken( issuer: settings.Issuer, audience: settings.Audience, claims: claims, notBefore: now, expires: now.Add(settings.Expiration), signingCredentials: settings.SigningCredentials); return(jwt); }
private string GetToken(LoginSpecification specification) { var token = GetTokenPayload(specification); var encodedJwt = new JwtSecurityTokenHandler().WriteToken(token); return(encodedJwt); }
public IHttpActionResult PostUser(LoginCriteria criteria) { LoginCriteria _criteria = new LoginCriteria(); _criteria = criteria; LoginSpecification loginSpecification = new LoginSpecification(criteria); var users = erf.Find(loginSpecification).ToList(); return(Ok(users)); }
public IActionResult Login([FromBody] LoginSpecification specification) { var isAuthenticated = IsAuthenticated(specification); if (isAuthenticated == false) { return(Unauthorized()); } var token = GetToken(specification); return(Ok(token)); }
public IActionResult Index(LoginSpecification loginInput) { IndexLoginVM loggedIn = new IndexLoginVM(); if (loginInput.Username == "Admin" && loginInput.Password == "123") { loggedIn.IsLoggedIn = true; } else { loggedIn.IsLoggedIn = false; } return(View(loggedIn)); }
public IActionResult Index(LoginSpecification loginInput) { if (!ModelState.IsValid) { return(View(loginInput)); } IndexLoginVM loggedIn = new IndexLoginVM { IsLoggedIn = true }; //Ändra html i navbar? return(RedirectToAction("Index", "Home", loginInput)); }
private bool IsAuthenticated(LoginSpecification specification) => UserCollection.Users.Contains(specification);