Example #1
0
        public async Task <IActionResult> Login(string email, string password)
        {
            email = email.ToLower();

            var filter = new OperatorFilter
            {
                Email  = email,
                Amount = 1
            };

            var res = await dbProvider.ReadModel(filter).ConfigureAwait(false);

            //TODO
            if (res.Count == 0 || res.First().Password != Cryptography.SaltPassword(password, "salt"))
            {
                return(NotFound("Пользователь с такими реквизитами не найден"));
            }

            var encodedJwt = JwtHelpers.IssueToken(config.AppName, config.AppUrl, email, config.AuthLifetimeInHours, config.JwtTokenSecret);
            var response   = new
            {
                access_token = encodedJwt,
                username     = email
            };

            return(Json(response));
        }