public virtual async Task <PcCodeLoginOutput> PcCodeLoginAsync(PcLoginInput input)
        {
            await _identityOptions.SetAsync();

            var cacheItem = await _pcLoginAuthorizationCache.GetAsync(input.Token);

            if (cacheItem == null)
            {
                return(new PcCodeLoginOutput {
                    IsSuccess = false
                });
            }

            await _pcLoginAuthorizationCache.RemoveAsync(input.Token);

            var user = await _identityUserManager.GetByIdAsync(cacheItem.UserId);

            await _signInManager.SignInAsync(user, false);

            var miniProgramUser = await _miniProgramUserRepository.GetAsync(x => x.UserId == user.Id);

            var miniProgram = await _miniProgramRepository.GetAsync(x => x.Id == miniProgramUser.MiniProgramId);

            var rawData = await RequestIds4LoginAsync(miniProgram.AppId, miniProgramUser.UnionId, miniProgramUser.OpenId);

            return(new PcCodeLoginOutput {
                IsSuccess = true, RawData = rawData?.Raw
            });
        }
        public virtual async Task <PcLoginOutput> PcLoginAsync(PcLoginInput input)
        {
            var cacheItem = await _pcLoginAuthorizationCache.GetAsync(input.Token);

            if (cacheItem == null)
            {
                return(new PcLoginOutput {
                    IsSuccess = false
                });
            }

            await _pcLoginAuthorizationCache.RemoveAsync(input.Token);

            var user = await _identityUserManager.GetByIdAsync(cacheItem.UserId);

            await _signInManager.SignInAsync(user, false);

            return(new PcLoginOutput {
                IsSuccess = true
            });
        }
Exemplo n.º 3
0
 public Task <PcLoginRequestTokensOutput> PcLoginRequestTokensAsync(PcLoginInput input)
 {
     return(_service.PcLoginRequestTokensAsync(input));
 }
Exemplo n.º 4
0
 public Task <PcLoginOutput> PcLoginAsync(PcLoginInput input)
 {
     return(_service.PcLoginAsync(input));
 }
Exemplo n.º 5
0
        public virtual async Task <PcLoginRequestTokensOutput> PcLoginRequestTokensAsync(PcLoginInput input)
        {
            await _identityOptions.SetAsync();

            var cacheItem = await _pcLoginAuthorizationCache.GetAsync(input.Token);

            if (cacheItem == null)
            {
                return(new PcLoginRequestTokensOutput {
                    IsSuccess = false
                });
            }

            await _pcLoginAuthorizationCache.RemoveAsync(input.Token);

            return(new PcLoginRequestTokensOutput
            {
                IsSuccess = true,
                RawData = (await RequestIds4LoginAsync(cacheItem.AppId, cacheItem.UnionId, cacheItem.OpenId))?.Raw
            });
        }