public async void UserValidationAsync() { var userRep = new UsersRepository(); var user = await userRep.CreateAsync(102); try { Assert.That(user.Id, Is.GreaterThan(0)); Assert.That(user.Name, Is.EqualTo(102)); Assert.IsTrue(await userRep.IsUserValid(user.Name, user.Password)); Assert.IsFalse(await userRep.IsUserValid(user.Name + 1, user.Password)); Assert.IsFalse(await userRep.IsUserValid(user.Name, Guid.Empty)); } finally { var count = userRep.Remove(user); Assert.That(count, Is.EqualTo(1)); } }
public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context) { var userRep = new UsersRepository(); if (!await userRep.IsUserValid(int.Parse(context.UserName), Guid.Parse(context.Password))) { Logger.Trace("Отказано в выдаче токена."); context.SetError("invalid_grant", "Имя пользователя или пароль неправильны."); context.Rejected(); return; } Logger.Trace("Токен выдан."); var identity = new ClaimsIdentity(context.Options.AuthenticationType); identity.AddClaim(new Claim("user_name", context.UserName)); context.Validated(identity); }