Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class ResourceOwnerPasswordValidator : IResourceOwnerPasswordValidator
- {
- public Task ValidateAsync(ResourceOwnerPasswordValidationContext context)
- {
- //dapper.net for getting user from DB
- using (IDbConnection db = new SqlConnection("Data Source=.;Initial Catalog=TestDB;Integrated Security=True"))
- {
- var user = db.Query<User>("SELECT * FROM Registration WHERE Username=@Username AND Password=@Password",
- new { Username = context.UserName, Password = context.Password }).SingleOrDefault();
- if (user == null)
- {
- context.Result = new GrantValidationResult(TokenErrors.InvalidRequest, "Username or password is incorrect");
- return Task.FromResult(0);
- }
- #region
- var users = new List<InMemoryUser>
- {
- new InMemoryUser
- {
- Subject = "818727",
- Username = user.Username,
- Password = user.Password,
- Claims = new Claim[]
- {
- new Claim(JwtClaimTypes.Name, user.FirstName),
- new Claim(JwtClaimTypes.GivenName, user.FirstName),
- new Claim(JwtClaimTypes.FamilyName, user.LastName),
- new Claim(JwtClaimTypes.Email, user.Email)
- }
- }
- };
- #endregion
- context.Result = new GrantValidationResult(user.Id.ToString(), "Password", users[0].Claims);
- return Task.FromResult(0);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement