如何为每个请求更新安全令牌

时间:2019-01-09 13:53:57

标签: asp.net-mvc single-sign-on owin keycloak

我们有一个ASP.NET-MVC应用程序,它将与Red Hat Single Sign-on解决方案集成在一起。 基本的登录和注销操作已经起作用。我们无法实现的功能是在任何地方注销,即用户注销到另一个与SSO集成的应用程序,而我的应用程序会自动检测到该用户不再登录。 我们认为解决方案是为每个请求更新令牌,但是我们不知道如何实现此功能。

我们尝试将身份验证机制配置为针对每个请求验证令牌,但显然不起作用。

public partial class Startup
{
    public void ConfigureAuth(IAppBuilder app)
    {
        const string persistentAuthType = "keycloak_cookies"; // Or name it whatever you want

        app.UseCookieAuthentication(new CookieAuthenticationOptions
        {
            AuthenticationType = persistentAuthType
        });

        app.SetDefaultSignInAsAuthenticationType(persistentAuthType);

        app.UseKeycloakAuthentication(new KeycloakAuthenticationOptions
        {
            Realm = "anp",
            ClientId = "DPP",
            KeycloakUrl = "http://xareu.anp.net:8280/auth", //senha admin/teste
            CallbackPath = "/anp-dpp-web/sso/callback",
            PostLogoutRedirectUrl = "/anp-dpp-web/Modulos/Index",
            AllowUnsignedTokens = false,
            AuthenticationType = persistentAuthType,
            SignInAsAuthenticationType = persistentAuthType,                
            UseRemoteTokenValidation = true,
            MetadataRefreshInterval = TimeSpan.Zero
        });            
    }
}

0 个答案:

没有答案