Exemple #1
0
        public async Task <ActionResult <AuthTokenView> > Login([FromBody] LoginInputView loginInputView, string method)
        {
            var user = await UserManager.FindByNameAsync(loginInputView.Username);

            if (user == null)
            {
                return(Unauthorized());
            }

            if (!(await UserManager.CheckPasswordAsync(user, loginInputView.Password)))
            {
                return(Unauthorized());
            }

            switch (method)
            {
            case "cookie":
                return(await LoginCookie(user));

            case "token":
                return(LoginJwt(user));

            default:
                return(BadRequest());
            }
        }
Exemple #2
0
        public IActionResult Login(LoginInputView model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.ToString()));
            }

            return(Ok());
        }
Exemple #3
0
        public async Task <ActionResult <UserView> > Register([FromBody] LoginInputView loginInputView)
        {
            var user = new User
            {
                Email         = "*****@*****.**",
                SecurityStamp = Guid.NewGuid().ToString(),
                UserName      = loginInputView.Username
            };
            var register = await UserManager.CreateAsync(user, loginInputView.Password);

            if (!register.Succeeded)
            {
                return(BadRequest());
            }

            return(Ok(new UserView(user)));
        }
Exemple #4
0
        public async Task TestUser()
        {
            const string name = "user2";
            const string pw   = "User2!!!";

            var userData = new LoginInputView
            {
                Username = name,
                Password = pw
            };

            //Check login non existent user
            using (var loginResp = await _newUserClient.PostAsync("api/User/Login", JsonContent(userData)))
            {
                Assert.AreEqual(HttpStatusCode.Unauthorized, loginResp.StatusCode);
            }

            //Create new user
            var newUserData = await Post <LoginInputView, UserView>(_newUserClient, "api/User/Register", userData);

            Assert.AreEqual(newUserData.Name, name);

            //Try login
            await SetToken(_newUserClient, name, pw);

            //Try get current user
            var curUserData = await Get <UserView>(_newUserClient, "api/User/Current");

            Assert.AreEqual(newUserData.Id, curUserData.Id);


            //Try get user by Id
            var getUserData = await Get <UserView>(_newUserClient, $"api/User/{newUserData.Id}");

            Assert.AreEqual(newUserData.Id, getUserData.Id);
        }