public async Task ValidateAsync(ResourceOwnerPasswordValidationContext context) { var query = new GetLoginUserModel { UserName = context.UserName, Password = context.Password }; var result = await _queryDispatcher.DispatchAsync <GetLoginUserModel, LoginUserModel>(query); if (result != null) { context.Result = new GrantValidationResult(result.Id.ToString(), OidcConstants.AuthenticationMethods.Password); } }
public static async Task <IApplicationBuilder> EnsureIdentityCreatedAsync(this IApplicationBuilder app) { var commandSender = app.ApplicationServices.GetRequiredService <ICommandSender>(); var queryDispatcher = app.ApplicationServices.GetRequiredService <IQueryDispatcher>(); var query = new GetLoginUserModel { UserName = "******", Password = "******" }; var user = await queryDispatcher.DispatchAsync <GetLoginUserModel, LoginUserModel>(query); if (user == null) { await commandSender.SendAsync <CreateUser>(new CreateUser() { UserName = "******", Email = "*****@*****.**", Password = "******" }); } //var userManager = app.ApplicationServices.GetRequiredService<UserManager<User>>(); //var roleManager = app.ApplicationServices.GetRequiredService<RoleManager<Role>>(); //if (!await roleManager.RoleExistsAsync(Administrator.Name)) //{ // await roleManager.CreateAsync(new Role // { // Id = Administrator.Id, // Name = Administrator.Name // }); //} //var adminEmail = "*****@*****.**"; //if (await userManager.FindByEmailAsync(adminEmail) == null) //{ // var user = new User { UserName = adminEmail, Email = adminEmail }; // await userManager.CreateAsync(user, "admin"); //} //var adminUser = await userManager.FindByEmailAsync(adminEmail); //if (!await userManager.IsInRoleAsync(adminUser, Administrator.Name)) //{ // await userManager.AddToRoleAsync(adminUser, Administrator.Name); //} return(app); }