public override async Task GrantResourceOwnerCredentials(
            OAuthGrantResourceOwnerCredentialsContext context)
        {
            //调用后台的登录服务验证用户名与密码
            var user = await _userApp.GetUser(context.UserName, context.Password);

            if (user != null)
            {
                var oAuthIdentity = new ClaimsIdentity(context.Options.AuthenticationType);
                oAuthIdentity.AddClaim(new Claim(ClaimTypes.Name, context.UserName));
                context.Validated(oAuthIdentity);
                await base.GrantResourceOwnerCredentials(context);
            }
            else
            {
                throw new Exception("ERROR Incorrect username or password!");
            }
        }
Example #2
0
        public async Task TestMD5()
        {
            string userName = "******";
            string password = "******";
            string passMd5  = Md5.GetMd5Hash(password);
            User   user     = new User();

            user.Id         = Guid.NewGuid().ToString();
            user.UserName   = userName;
            user.Password   = passMd5;
            user.IsActive   = "Y";
            user.IsDelete   = "N";
            user.CreateDate = DateTime.Now;
            user.UpdateTime = DateTime.Now;
            UserApp _userApp = new UserApp(new UserDapperRepository());
            var     saveRt   = await _userApp.Save(user);

            Assert.IsTrue(saveRt);

            var checkUser = await _userApp.GetUser(userName, password);

            Assert.AreEqual(checkUser.UserName, userName);
            Assert.AreEqual(checkUser.Password, passMd5);
        }