예제 #1
0
        public async Task <object> Post(AuthenticateUserByName request)
        {
            var auth = _authContext.GetAuthorizationInfo(Request);

            try
            {
                var result = await _sessionMananger.AuthenticateNewSession(new AuthenticationRequest
                {
                    App            = auth.Client,
                    AppVersion     = auth.Version,
                    DeviceId       = auth.DeviceId,
                    DeviceName     = auth.Device,
                    Password       = request.Pw,
                    PasswordSha1   = request.Password,
                    RemoteEndPoint = Request.RemoteIp,
                    Username       = request.Username
                }).ConfigureAwait(false);

                return(ToOptimizedResult(result));
            }
            catch (SecurityException e)
            {
                // rethrow adding IP address to message
                throw new SecurityException($"[{Request.RemoteIp}] {e.Message}");
            }
        }
예제 #2
0
        public async Task <object> Post(AuthenticateUserByName request)
        {
            var auth = AuthorizationContext.GetAuthorizationInfo(Request);

            if (string.IsNullOrWhiteSpace(auth.Client))
            {
                auth.Client = "Unknown app";
            }
            if (string.IsNullOrWhiteSpace(auth.Device))
            {
                auth.Device = "Unknown device";
            }
            if (string.IsNullOrWhiteSpace(auth.Version))
            {
                auth.Version = "Unknown version";
            }
            if (string.IsNullOrWhiteSpace(auth.DeviceId))
            {
                auth.DeviceId = "Unknown device id";
            }

            var result = await _sessionMananger.AuthenticateNewSession(new AuthenticationRequest
            {
                App            = auth.Client,
                AppVersion     = auth.Version,
                DeviceId       = auth.DeviceId,
                DeviceName     = auth.Device,
                PasswordSha1   = request.Password,
                PasswordMd5    = request.PasswordMd5,
                RemoteEndPoint = Request.RemoteIp,
                Username       = request.Username
            }).ConfigureAwait(false);

            return(ToOptimizedResult(result));
        }
예제 #3
0
        public object Post(AuthenticateUserByName request)
        {
            var auth = AuthorizationContext.GetAuthorizationInfo(Request);

            if (string.IsNullOrWhiteSpace(auth.Client))
            {
                auth.Client = "Unknown app";
            }
            if (string.IsNullOrWhiteSpace(auth.Device))
            {
                auth.Device = "Unknown device";
            }
            if (string.IsNullOrWhiteSpace(auth.Version))
            {
                auth.Version = "Unknown version";
            }
            if (string.IsNullOrWhiteSpace(auth.DeviceId))
            {
                auth.DeviceId = "Unknown device id";
            }

            var result = _sessionMananger.AuthenticateNewSession(request.Username, request.Password, auth.Client, auth.Version,
                                                                 auth.DeviceId, auth.Device, Request.RemoteIp, Request.IsLocal).Result;

            return(ToOptimizedResult(result));
        }
예제 #4
0
        public object Post(AuthenticateUserByName request)
        {
            var user = _userManager.Users.FirstOrDefault(i => string.Equals(request.Name, i.Name, StringComparison.OrdinalIgnoreCase));

            var result = AuthenticateUser(new AuthenticateUser {
                Id = user.Id, Password = request.Password
            }).Result;

            return(ToOptimizedResult(result));
        }
예제 #5
0
        public object Post(AuthenticateUserByName request)
        {
            var user = _userManager.Users.FirstOrDefault(i => string.Equals(request.Username, i.Name, StringComparison.OrdinalIgnoreCase));

            if (user == null)
            {
                throw new ArgumentException(string.Format("User {0} not found.", request.Username));
            }

            var result = AuthenticateUser(new AuthenticateUser {
                Id = user.Id, Password = request.Password
            }).Result;

            return(ToOptimizedResult(result));
        }
예제 #6
0
        public async Task <object> Post(AuthenticateUserByName request)
        {
            var auth = _authContext.GetAuthorizationInfo(Request);

            var result = await _sessionMananger.AuthenticateNewSession(new AuthenticationRequest
            {
                App            = auth.Client,
                AppVersion     = auth.Version,
                DeviceId       = auth.DeviceId,
                DeviceName     = auth.Device,
                PasswordSha1   = request.Password,
                PasswordMd5    = request.PasswordMd5,
                RemoteEndPoint = Request.RemoteIp,
                Username       = request.Username
            }).ConfigureAwait(false);

            return(ToOptimizedResult(result));
        }