我已遵循文档https://docs.microsoft.com/en-us/aspnet/core/security/authentication/ws-federation?view=aspnetcore-3.1的说明进行了无Identity Framework的ADFS身份验证。
我的应用程序对ADFS服务器进行调用,并返回没有错误的令牌,但返回到主页而不是发起身份验证调用的页面。收到令牌后,尝试导航到需要授权的页面,请再次调用ADFS服务器,以另一个令牌进行响应,然后再次返回到主页。我永远无法导航到“内部”页面。
我需要设置一些时间来处理令牌吗?在ASP.NET MVC中使用ADFS后,给我的印象是原始调用已足够,并且令牌一直持续到关闭或超时为止。
Startup.cs
services.AddAuthentication(sharedOptions =>
{
sharedOptions.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
sharedOptions.DefaultChallengeScheme = WsFederationDefaults.AuthenticationScheme;
})
.AddWsFederation(options =>
{
options.Wtrealm = Configuration["wsfed:realm"];
options.MetadataAddress = Configuration["wsfed:metadata"];
options.TokenValidationParameters = new TokenValidationParameters()
{
SaveSigninToken = true
};
})
.AddCookie();
内部控制器
[Authorize]
public class InternalController : Controller
{