private Tuple <Token, User> GenerateToken(User user) { var secureDataFormat = new TicketDataFormat(_dataProtector); var expirationDate = DateTimeOffset.UtcNow.AddDays(1); var identity = new ClaimsIdentity(OAuthDefaults.AuthenticationType); identity.AddClaims(user.GetClaims()); var tokenValue = secureDataFormat.Protect(new AuthenticationTicket(identity, new AuthenticationProperties() { IssuedUtc = DateTime.UtcNow, ExpiresUtc = expirationDate })); var token = new Token() { AccessToken = tokenValue, TokenType = OAuthDefaults.AuthenticationType, ExpiresAt = expirationDate, ExpiresIn = (uint)(expirationDate - DateTime.UtcNow).TotalSeconds }; return(Tuple.Create(token, user)); }