当使用具有资源所有者密码流和 asp.net Identity 的 IdentityServer4 时,登录失败时它总是返回相同的错误消息。如果密码无效或用户已被锁定,这并不重要。
{
"error": "invalid_grant",
"error_description": "invalid_username_or_password"
}
Run Code Online (Sandbox Code Playgroud)
这是身份和身份服务器的配置:
services.AddIdentityCore<User>()
.AddEntityFrameworkStores<ApplicationDBContext>()
.AddDefaultTokenProviders()
.AddUserManager<UserManager<User>>()
.AddSignInManager<ApplicationSignInManager>();
var builder = services.AddIdentityServer()
.AddInMemoryIdentityResources(Config.IdentityResources)
.AddInMemoryApiResources(Config.Apis)
.AddInMemoryClients(Config.Clients)
.AddAspNetIdentity<User>();
Run Code Online (Sandbox Code Playgroud)
由于我使用带有 asp.net 身份的资源所有者密码流,因此没有用于登录用户的自定义用户服务。那么如何根据登录过程中发生的情况显示错误消息?