public JWTAndRefreshToken Login(string login, string password) { var person = _personRepository.GetPersonByLoginAndPassword(login, password); if (person != null) { ClaimsIdentity identity = GetIdentity(login, password); if (identity == null) { jwt = null; return(null); } DateTime timeNow = DateTime.UtcNow; jwt = new JwtSecurityToken( issuer: JWTOptions.ISSUER, audience: JWTOptions.AUDIENCE, claims: identity.Claims, notBefore: timeNow, expires: timeNow.AddMinutes(1), signingCredentials: new SigningCredentials( JWTOptions.GetSymmetricSecurityKey(), SecurityAlgorithms.HmacSha256)); string accessToken = new JwtSecurityTokenHandler().WriteToken(jwt); string refreshToken = Guid.NewGuid().ToString(); person.RefreshToken = refreshToken; _personRepository.Update(person); JWTAndRefreshToken JWTAndRefreshToken = new JWTAndRefreshToken { AccessToken = accessToken, RefreshToken = refreshToken }; return(JWTAndRefreshToken); } return(null); }
public JWTAndRefreshToken RefreshToken(string refreshToken) { Person person = _personService.GetPersonByRefreshToken(refreshToken); if (person == null) { return(null); } JWTAndRefreshToken jWTAndRefreshToken = _jWTService.Login(person.Login, person.Password); return(jWTAndRefreshToken); }
public JWTAndRefreshToken Login(string login, string password) { Person person = _personService.GetPersonByLoginAndPassword(login, password); if (person == null) { return(null); } JWTAndRefreshToken jWTAndRefreshToken = _jWTService.Login(person.Login, person.Password); return(jWTAndRefreshToken); }