小编Far*_*oni的帖子

如何使用密码授予流程更改 IdentityServer4 的默认错误消息

当使用具有资源所有者密码流和 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 身份的资源所有者密码流,因此没有用于登录用户的自定义用户服务。那么如何根据登录过程中发生的情况显示错误消息?

c# asp.net-identity asp.net-core identityserver4

5
推荐指数
1
解决办法
2001
查看次数