我们有一个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
});
}
}