Example #1
0
        public async Task <IActionResult> CreateToken(
            [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "Token")] HttpRequest req)
        {
            string    requestBody = await new StreamReader(req.Body).ReadToEndAsync();
            TokenUser data        = JsonConvert.DeserializeObject <TokenUser>(requestBody);

            var result = _tokenProvider.GenerateToken(data);

            _logger.LogInformation($"Generated token");
            return(new OkObjectResult(result));
        }
        public OperationStatus LoginUser(string username, string password)
        {
            if (string.IsNullOrWhiteSpace(username) || string.IsNullOrWhiteSpace(password))
            {
                return(OperationStatus.Failed("Provide valid username and password"));
            }

            using (IDatabase db = this.CurrentDatabase)
            {
                var existingUser = db.SingleOrDefault <User>("where username=@0 and password=@1", username, password);

                if (existingUser == null)
                {
                    return(OperationStatus.Failed("Provide valid username and password"));
                }

                existingUser.AccessToken = tokenProvider.GenerateToken(username, password);

                int rowUpdated = db.Update(existingUser);

                return(OperationStatus.Passed("User logged in", existingUser.AccessToken));
            }
        }