我们有一个客户端的MVFS应用程序的ADFS设置,我们正在使用OWIN管道注入进行设置。我们使用app启动本身对用户进行身份验证,并且不存在单独的帐户控制器逻辑。
//Setting up the Ws Federation
app.UseWsFederationAuthentication(
new WsFederationAuthenticationOptions
{
Wtrealm = await configurationHandler.GetConfiguration(ConfigurationConstants.AdfsRelyingPartyIdentifier).ConfigureAwait(false),
MetadataAddress = await configurationHandler.GetConfiguration(ConfigurationConstants.AdfsFederationMetadataEndpoint).ConfigureAwait(false),
Notifications = new WsFederationAuthenticationNotifications
{ AuthenticationFailed = context => {
context.HandleResponse();
context.Response.Redirect("Logout/UnAuthorised");
return Task.FromResult(0);
}
}
});
//Inserting the authentication logic in OWIN pipeline
app.Use( (context, continuation) => { if (context.Authentication.User != null && context.Authentication.User.Identity != null && context.Authentication.User.Identity.IsAuthenticated)
{
return continuation();
}
context.Authentication.Challenge(WsFederationAuthenticationDefaults.AuthenticationType);
return Task.FromResult(0);
});
在创建配置验证程序时,我们需要验证ADFS依赖方标识符和不同环境的联合元数据。 我们的要求是验证两个配置值是否正确并成功将我们重定向到客户端的组织登录页面。 我们无意验证任何用户声明或成功登录。如果我们获得了成功的登录页面,我们就完成了。 关于如何做到这一点的任何想法?所有可用资源都可以验证声明或将WS联盟设置为应用程序启动。 任何帮助都会非常感激。