public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context) { var username = context.UserName; var password = context.Password; tLoginInfo user; using (var ctx = new dbContext()) { var encryptor = new Sha256Encryptor(); var repository = new UsersRepository(ctx, encryptor); user = repository.GetByUsernameAndPassword(username, password); } if (user == null) { context.SetError("invalid_credentials", "Invalid user name or password."); return; } var claims = new List <Claim> { new Claim(ClaimTypes.Name, username) }; var oauthClaimIdentity = new ClaimsIdentity(claims, OAuthDefaults.AuthenticationType); var cookieClaimsIdentity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationType); var properties = CreateProperties(username); var ticket = new AuthenticationTicket(oauthClaimIdentity, properties); context.Validated(ticket); context.Request.Context.Authentication.SignIn(cookieClaimsIdentity); }
public static BaseEncryptor GetEncryptor(Encryptor encryptor) { BaseEncryptor cryptoProvider = null; if (encryptor == Encryptor.Aes) { if (rijndaelEncryptor == null) { rijndaelEncryptor = new RijndaelEncryptor(); } cryptoProvider = rijndaelEncryptor; } if (encryptor == Encryptor.Des) { if (dataEncryptor == null) { dataEncryptor = new DataEncryptor(); } cryptoProvider = dataEncryptor; } if (encryptor == Encryptor.Sha256) { if (hashEncryptor == null) { hashEncryptor = new Sha256Encryptor(); } cryptoProvider = hashEncryptor; } if (encryptor == Encryptor.Md5) { if (hashEncryptor == null) { hashEncryptor = new Sha256Encryptor(); } cryptoProvider = hashEncryptor; } return(cryptoProvider); }