我正在尝试将应用程序配置为利用.NET Core的联合登录名。我看到我的客户端应用程序正在向联合提供者发送wsignin1.0和wsignout1.0消息。但是,当我尝试将wsignoutcleanup1.0发送到客户端应用程序时,没有任何反应。联合客户端如何接收wsignoutcleanup消息以清除其会话状态?
这是我的客户端的wsfederation配置:
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
services.AddAuthentication(sharedOptions =>
{
sharedOptions.DefaultChallengeScheme = WsFederationDefaults.AuthenticationScheme;
sharedOptions.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
}
).AddCookie(options =>
{
options.Cookie.Name = "TestStsAuth1";
}).AddWsFederation(options =>
{
WsFederationConfiguration configuration = new WsFederationConfiguration();
configuration.Issuer = "http://localhost/STSSpike2/V1";
configuration.TokenEndpoint = "http://localhost/STSSpike/V1";
options.Configuration = configuration;
options.Wtrealm = "http://localhost/STSAwareApp2/Test";
options.SecurityTokenHandlers.Add(new FakeTokenValidator());
options.SkipUnrecognizedRequests = true;
options.RemoteSignOutPath = "/Logout";
});
services.AddLogging(
builder =>
{
builder.AddFilter("Microsoft", LogLevel.Trace)
.AddFilter("System", LogLevel.Trace)
.AddConsole();
});
}
我曾尝试使用wa = wsignoutcleanup1.0将GET请求发送到/ Logout,但似乎没有看到该会话的Cookie得到清理,也没有看到WsFederataion.OnRemoteSignOut事件被触发。关于我所缺少的任何指示吗?
推荐的结案问题。正在调用远程注销事件。最终用户错误