Beispiel #1
0
 public ApplicationAuthService(AppSettings appSettings, IAuthHttpClient authClient, EncryptionConfig encryptionSettings, ILogger <ApplicationAuthService> logger)
 {
     _appSettings             = appSettings;
     _logger                  = logger;
     _authorizationHttpClient = authClient;
     _encryptionService       = new EncryptionService(encryptionSettings);
 }
Beispiel #2
0
 public LoginService(LoginConfiguration loginConfiguration, IDao <AccountDto, long> accountDao,
                     IAuthHttpClient authHttpClient,
                     IChannelHttpClient channelHttpClient, IConnectedAccountHttpClient connectedAccountHttpClient)
 {
     _loginConfiguration         = loginConfiguration;
     _accountDao                 = accountDao;
     _authHttpClient             = authHttpClient;
     _connectedAccountHttpClient = connectedAccountHttpClient;
     _channelHttpClient          = channelHttpClient;
 }
Beispiel #3
0
 public DacPacketHandler(IDao <AccountDto, long> accountDao,
                         ILogger logger, IAuthHttpClient authHttpClient,
                         IConnectedAccountHttpClient connectedAccountHttpClient,
                         IChannelHttpClient channelHttpClient)
 {
     _accountDao                 = accountDao;
     _logger                     = logger;
     _authHttpClient             = authHttpClient;
     _connectedAccountHttpClient = connectedAccountHttpClient;
     _channelHttpClient          = channelHttpClient;
 }
Beispiel #4
0
 public LoginService(IOptions <LoginConfiguration> loginConfiguration, IDao <AccountDto, long> accountDao,
                     IAuthHttpClient authHttpClient,
                     IChannelHttpClient channelHttpClient, IConnectedAccountHttpClient connectedAccountHttpClient,
                     IDao <CharacterDto, long> characterDao)
 {
     _loginConfiguration         = loginConfiguration;
     _accountDao                 = accountDao;
     _authHttpClient             = authHttpClient;
     _connectedAccountHttpClient = connectedAccountHttpClient;
     _channelHttpClient          = channelHttpClient;
     _characterDao               = characterDao;
 }
Beispiel #5
0
 public EntryPointPacketHandler(IGenericDao <CharacterDto> characterDao,
                                IGenericDao <AccountDto> accountDao,
                                IGenericDao <MateDto> mateDao, ILogger logger, IAuthHttpClient authHttpClient,
                                IConnectedAccountHttpClient connectedAccountHttpClient,
                                IChannelHttpClient channelHttpClient)
 {
     _characterDao               = characterDao;
     _accountDao                 = accountDao;
     _mateDao                    = mateDao;
     _logger                     = logger;
     _authHttpClient             = authHttpClient;
     _connectedAccountHttpClient = connectedAccountHttpClient;
     _channelHttpClient          = channelHttpClient;
 }
 public EntryPointPacketHandler(IDao <CharacterDto, long> characterDao,
                                IDao <AccountDto, long> accountDao,
                                IDao <MateDto, long> mateDao, ILogger logger, IAuthHttpClient authHttpClient,
                                IConnectedAccountHttpClient connectedAccountHttpClient,
                                IChannelHttpClient channelHttpClient, IHasher hasher)
 {
     _characterDao               = characterDao;
     _accountDao                 = accountDao;
     _mateDao                    = mateDao;
     _logger                     = logger;
     _authHttpClient             = authHttpClient;
     _connectedAccountHttpClient = connectedAccountHttpClient;
     _channelHttpClient          = channelHttpClient;
 }
 public EntryPointPacketHandler(IDao <CharacterDto, long> characterDao,
                                IDao <AccountDto, long> accountDao,
                                IDao <MateDto, long> mateDao, ILogger logger, IAuthHttpClient authHttpClient,
                                IConnectedAccountHttpClient connectedAccountHttpClient,
                                IChannelHttpClient channelHttpClient, IOptions <WorldConfiguration> configuration)
 {
     _characterDao               = characterDao;
     _accountDao                 = accountDao;
     _mateDao                    = mateDao;
     _logger                     = logger;
     _authHttpClient             = authHttpClient;
     _connectedAccountHttpClient = connectedAccountHttpClient;
     _channelHttpClient          = channelHttpClient;
     _configuration              = configuration;
 }
        public static async Task VerifyConnectionAsync(ClientSession clientSession, ILogger _logger, IAuthHttpClient authHttpClient,
                                                       IConnectedAccountHttpClient connectedAccountHttpClient, IDao <AccountDto, long> accountDao, IChannelHttpClient channelHttpClient, bool passwordLessConnection, string accountName, string password, int sessionId)
        {
            var alreadyConnnected = false;
            var servers           = await channelHttpClient.GetChannelsAsync().ConfigureAwait(false) ?? new List <ChannelInfo>();

            foreach (var channel in servers.Where(c => c.Type == ServerType.WorldServer))
            {
                var accounts = await connectedAccountHttpClient.GetConnectedAccountAsync(channel).ConfigureAwait(false);

                var target = accounts.FirstOrDefault(s => s.Name == accountName);

                if (target == null)
                {
                    continue;
                }

                alreadyConnnected = true;
                break;
            }

            if (alreadyConnnected)
            {
                _logger.Error(LogLanguage.Instance.GetMessageFromKey(LogLanguageKey.ALREADY_CONNECTED), new
                {
                    accountName
                });
                await clientSession.DisconnectAsync().ConfigureAwait(false);

                return;
            }

            var account = await accountDao.FirstOrDefaultAsync(s => s.Name == accountName).ConfigureAwait(false);

            if (account == null)
            {
                _logger.Error(LogLanguage.Instance.GetMessageFromKey(LogLanguageKey.INVALID_ACCOUNT), new
                {
                    accountName
                });
                await clientSession.DisconnectAsync().ConfigureAwait(false);

                return;
            }

            var awaitingConnection =
                (passwordLessConnection
                    ? await authHttpClient
                 .GetAwaitingConnectionAsync(accountName, password, sessionId)
                 .ConfigureAwait(false) != null
                    : account.Password?.Equals(new Sha512Hasher().Hash(password), StringComparison.OrdinalIgnoreCase) ==
                 true);

            if (!awaitingConnection)
            {
                _logger.Error(LogLanguage.Instance.GetMessageFromKey(LogLanguageKey.INVALID_PASSWORD), new
                {
                    accountName
                });
                await clientSession.DisconnectAsync().ConfigureAwait(false);

                return;
            }

            var sessionMapping = SessionFactory.Instance.Sessions
                                 .FirstOrDefault(s => s.Value.SessionId == clientSession.SessionId);

            if (!sessionMapping.Equals(default(KeyValuePair <string, RegionTypeMapping>)))
            {
                sessionMapping.Value.RegionType = account.Language;
            }
            clientSession.InitializeAccount(account);
            //todo Send Account Connected
        }
Beispiel #9
0
 public HomeController(IAuthService authService, IAuthHttpClient authHttpClient)
 {
     this.authService    = authService;
     this.authHttpClient = authHttpClient;
 }
 public FirebaseAuth(IServiceAccountCredentials credentials, FirebaseSDKConfiguration configuration)
 {
     _configuration = configuration;
     _httpClient    = new AuthHttpClient(credentials, configuration);
 }
Beispiel #11
0
 public SlotService(IAuthHttpClient httpClient)
 {
     _httpClient = httpClient;
 }