Пример #1
0
        public async Task <MainLoginDto> ExchangeCodeForToken(string code)
        {
            var dto = new MainLoginDto();

            var oAuthToken = await _tokenService.GetOAuthToken(code);

            dto.AccessToken = oAuthToken.access_token;

            var oAuthVerify = await _tokenService.GetOAuthVerify(dto.AccessToken);

            dto.CharacterId   = oAuthVerify.CharacterID;
            dto.CharacterName = oAuthVerify.CharacterName;

            _characterService.CreateOrUpdateMain(dto);
            return(dto);
        }
Пример #2
0
        public MainCharacter CreateOrUpdateMain(MainLoginDto dto)
        {
            var character = _context.MainCharacters.FirstOrDefault(x => x.Pilot.Id == dto.CharacterId);

            if (character == null)
            {
                var pilot = _pilotService.GetPilotById(dto.CharacterId);
                character = new MainCharacter
                {
                    AccessToken  = dto.AccessToken,
                    RefreshToken = null,
                    MaskType     = pilot.Corporation.AllianceId.HasValue ? MaskType.Alliance : MaskType.Corp,
                    PilotId      = pilot.Id
                };
                _context.MainCharacters.Add(character);
            }
            else
            {
                character.AccessToken = dto.AccessToken;
            }
            _context.SaveChanges();
            return(character);
        }
Пример #3
0
        public bool ConfirmAuthCharId(MainLoginDto dto)
        {
            var character = _characterService.GetMainCharacterByToken(dto.AccessToken);

            return(character != null && character.AccessToken == dto.AccessToken);
        }