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); }
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); }
public bool ConfirmAuthCharId(MainLoginDto dto) { var character = _characterService.GetMainCharacterByToken(dto.AccessToken); return(character != null && character.AccessToken == dto.AccessToken); }