예제 #1
0
        /// <summary>
        /// 移除刷新Token
        /// </summary>
        /// <param name="value">Token值</param>
        /// <returns></returns>
        public async override Task <bool> Remove(string value)
        {
            int result = 0;

            try
            {
                var token = ClientRefreshTokenRepository.Entities.Where(m => m.Value == value)
                            .Select(m => new { UserId = m.User.Id }).FirstOrDefault();
                if (token == null)
                {
                    return(false);
                }
                int userId = token.UserId;
                ClientRefreshTokenRepository.UnitOfWork.BeginTransaction();
                result = await ClientRefreshTokenRepository.DeleteDirectAsync(m => m.User.Id.Equals(userId));

                ClientRefreshTokenRepository.UnitOfWork.Commit();
            }
            catch (Exception ex)
            {
                Logger.Error("OAuthClientRefreshTokenStore.Remove错误:" + ex.ToString());
            }

            return(result > 0);
        }
        /// <summary>
        /// 移除刷新Token
        /// </summary>
        /// <param name="value">Token值</param>
        /// <returns></returns>
        public async virtual Task <bool> Remove(string value)
        {
            var token = ClientRefreshTokenRepository.Entities.Where(m => m.Value == value)
                        .Select(m => new { UserId = m.User.Id }).FirstOrDefault();

            if (token == null)
            {
                return(false);
            }
            TUserKey userId = token.UserId;
            int      result = await ClientRefreshTokenRepository.DeleteDirectAsync(m => m.User.Id.Equals(userId));

            return(result > 0);
        }