使用IdentityServer4时,将始终显示权限授予页面

使用IdentityServer4时,将始终显示权限授予页面,identityserver4,Identityserver4,我已经设置了一个MVC应用程序和quickstarts中描述的IdentityServer。我还使用EFCore来坚持确认和授权 一切正常,即使是Windows身份验证 当我使用从MVC应用程序注销时 public async Task Logout() { await HttpContext.Authentication.SignOutAsync("Cookies"); await HttpContext.Authentication.SignOutAsync("oidc");

我已经设置了一个MVC应用程序和quickstarts中描述的IdentityServer。我还使用EFCore来坚持确认和授权

一切正常,即使是Windows身份验证

当我使用从MVC应用程序注销时

public async Task Logout()
{
    await HttpContext.Authentication.SignOutAsync("Cookies");
    await HttpContext.Authentication.SignOutAsync("oidc");
}
我已按预期注销

但当我再次登录时,请输入我的凭据并再次单击下一页的“登录”请求权限授予。但是为什么呢?我已经在第一次登录时设置了权限。我怎样才能避免呢

如果我尝试使用Windows身份验证实现SSO,这可能会非常烦人


这个问题是否意味着授予不会被持久化并从数据库中读取?

在这里发现了同样的问题


因此,他已经打开了一个问题

当创建您的客户机时,您可以使用RequireSend标志关闭同意,您可以通过将AllowRememberApprove添加到true来记住它

new Client
{
    ClientId = "client",
    AllowRememberConsent = true
}

您可以看到文档

您是说同意页面再次显示了吗?是的,这就是我的意思。抱歉。即使使用
AllowRememberApprove=true
,如果您要求另一个RefreshToken(将作用域设置为包含
offline\u access
),用户也必须再次同意。请参见此处的Dominick回答-