private RefreshToken CreateRefreshTokenEntity(AuthenticationTokenCreateContext context)
        {
            var guid =
                new Guid(
                    context.Ticket.Identity.Claims.Where(c => c.Type == "RefreshToken")
                        .Select(c => c.Value)
                        .FirstOrDefault());
            var clientId = context.Ticket.Properties.Dictionary["as:client_id"];
            var refreshToken = new RefreshToken(guid, clientId, this.expriredTime);

            var refreshTokenTicket = new AuthenticationTicket(context.Ticket.Identity, new AuthenticationProperties(context.Ticket.Properties.Dictionary)
            {
                IssuedUtc = refreshToken.CreatedTime,
                ExpiresUtc = refreshToken.ExpiredTime
            });

            refreshToken.SetAuthenticationTicket(System.Text.Encoding.Default.GetString(serializer.Serialize(refreshTokenTicket)));

            return refreshToken;
        }
 private CreateRefreshToken CreateCommand(RefreshToken refreshToken)
 {
     return new CreateRefreshToken()
     {
         RefreshToken = refreshToken.RefreshTokenValue,
         AuthenticationTicket = refreshToken.AuthenticationTicket,
         ClientId = refreshToken.ClientId,
         CreatedTime = refreshToken.CreatedTime,
         ExpiredTime = refreshToken.ExpiredTime
     };
 }