public virtual async Task AuthorizePcAsync(AuthorizePcInput input) { if (await _pcLoginUserLimitCache.GetAsync(CurrentUser.GetId().ToString()) != null) { throw new PcLoginAuthorizeTooFrequentlyException(); } var miniProgram = await _miniProgramRepository.GetAsync(x => x.AppId == input.AppId); var miniProgramUser = await _miniProgramUserRepository.GetAsync(x => x.MiniProgramId == miniProgram.Id && x.UserId == CurrentUser.GetId()); await _pcLoginAuthorizationCache.SetAsync(input.Token, new MiniProgramPcLoginAuthorizationCacheItem { AppId = input.AppId, UnionId = miniProgramUser.UnionId, OpenId = miniProgramUser.OpenId, UserId = CurrentUser.GetId() }, new DistributedCacheEntryOptions { AbsoluteExpirationRelativeToNow = TimeSpan.FromSeconds(30) }); await _pcLoginUserLimitCache.SetAsync(CurrentUser.GetId().ToString(), new MiniProgramPcLoginUserLimitCacheItem(), new DistributedCacheEntryOptions { AbsoluteExpirationRelativeToNow = TimeSpan.FromSeconds(3) }); }
public virtual async Task AuthorizePcAsync(AuthorizePcInput input) { if (await _pcLoginUserLimitCache.GetAsync(CurrentUser.GetId().ToString()) != null) { throw new PcLoginAuthorizeTooFrequentlyException(); } await _pcLoginAuthorizationCache.SetAsync(input.Token, new MiniProgramPcLoginAuthorizationCacheItem { UserId = CurrentUser.GetId() }, new DistributedCacheEntryOptions { AbsoluteExpirationRelativeToNow = TimeSpan.FromSeconds(30) }); await _pcLoginUserLimitCache.SetAsync(CurrentUser.GetId().ToString(), new MiniProgramPcLoginUserLimitCacheItem(), new DistributedCacheEntryOptions { AbsoluteExpirationRelativeToNow = TimeSpan.FromSeconds(3) }); }
public Task AuthorizePcAsync(AuthorizePcInput input) { return(_service.AuthorizePcAsync(input)); }