public async Task <IActionResult> Login([FromBody] UserCredentials user)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(new
                {
                    Message = "Server received invalid data for login request."
                }));
            }

            var foundUser = await _userFinder.FindUserAsync(user);

            if (foundUser == null)
            {
                return(BadRequest(new
                {
                    Message = "No user was found with that username and password."
                }));
            }

            var token = _tokenBuilder.CreateToken(foundUser);

            return(new JsonResult(new {
                Token = token,
                Username = foundUser.UserName,
                Id = foundUser.Id
            }));
        }
        public async Task <IActionResult> Login([FromBody] User user)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Modelstate invalid"));
            }

            var foundUser = await _userManager.FindByNameAsync(user.Username);

            if (foundUser == null)
            {
                return(BadRequest("No user was found with that username."));
            }

            var success = await _userManager.CheckPasswordAsync(foundUser, user.Password);

            if (!success)
            {
                return(BadRequest("Wrong password."));
            }

            var claims = await _userManager.GetClaimsAsync(foundUser);

            var token = _tokenBuilder.CreateToken(foundUser, claims);

            if (_stateManager.GetPlayerState(Guid.Parse(foundUser.Id)) == null)
            {
                _stateManager.SetPlayerMakeCharacter(Guid.Parse(foundUser.Id));
            }

            return(new JsonResult(new
            {
                Token = token,
                Username = foundUser.UserName,
                UserId = foundUser.Id
            }));
        }
Example #3
0
        IEnumerable <Token> RunJob(int jobId, ITokenDie die, CancellationToken cancellationToken)
        {
            var mintJob        = Data.MintJobs[jobId];
            var sequenceNumber = mintJob.StartOfSequence - 1;
            var builder        = new TokenBuilder().HasMintRequestId(Id).HasCatalogId(Data.CatalogId);

            while (sequenceNumber++ < mintJob.Count && !cancellationToken.IsCancellationRequested)
            {
                var planchet = new TokenPlanchet();

                die.Strike(planchet);
                builder.HasId(planchet.Id);
                builder.HasCode(planchet.Code);
                builder.HasHash(planchet.Hash);
                builder.HasSequenceNumber(sequenceNumber);

                yield return(builder.CreateToken());
            }
        }
Example #4
0
        public object LogIn(string login, string password)
        {
            User user = _userRepository.Query(q => q.Email == login && q.Password == password).FirstOrDefault();

            if (user != null)
            {
                TokenBuilder tokenBuilder = new TokenBuilder(_options);
                var          token        = tokenBuilder.CreateToken(user.Email, user.Role, user.Id);

                var result = new
                {
                    id       = user.Id,
                    token    = token,
                    username = user.Email
                };

                return(result);
            }
            else
            {
                return(null);
            }
        }