IdentityServer4 禁用 Consent screen page(权限确认页面)


IdentityServer4 在登录完成的适合,会再跳转一次页面(权限确认),如下:

我之前以为 IdentityServer4 就是这样使用的,但实际业务场景并不需要进行权限确认,而是登陆成功后直接跳转到之前的页面就行了,所以,为了实现这个需求,我做了很多兼容操作,比如 IdentityServer4 授权中心有个 ConsentController,登录完成之后直接跳转到这个 Controller,页面不需要呈现,而是直接完成,当然代码写的很简陋,我总怕后面会出现一些问题。

今天又搜了下相关关键词(之前搜了无数遍,也没找到解决方案),无意间看到一个 Issue:Consent screen - can it be dropped?,解决方式非常简单,只需要配置RequireConsent = false,示例代码:

new Client
{
    ClientId = "client1",
    ClientName = "tets",
    AllowedGrantTypes = GrantTypes.Implicit,
    AllowAccessTokensViaBrowser = true,
    AccessTokenLifetime = 10,//最小值是5分钟 https://github.com/IdentityServer/IdentityServer4.Samples/issues/14

    RedirectUris = { "http://localhost:5003/callback.html" },
    //PostLogoutRedirectUris = { "http://localhost:5003/index.html" },
    AllowedCorsOrigins = { "http://localhost:5003" },

    RequireConsent = false, //禁用 consent 页面确认
    
    AllowedScopes =
    {
        IdentityServerConstants.StandardScopes.OpenId,
        IdentityServerConstants.StandardScopes.Profile,
        "api1"
    }
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2026 CODEPRJ.COM