我有一个正常工作的IdentityServer2 auth服务器。我正在创建一个新的.NET MVC应用程序,并按照本文(http://www.cloudidentity.com/blog/2014/02/20/ws-federation-in-microsoft-owin-componentsa-quick-start/)使用IDS2设置MS OWIN。我可以访问登录屏幕,但登录后,用户将被发送回主叫网站并陷入无休止的循环中。
Startup.Auth.cs
using Microsoft.Owin.Security;
using Microsoft.Owin.Security.Cookies;
using Microsoft.Owin.Security.WsFederation;
using Owin;
namespace AZBarMail
{
public partial class Startup
{
public void ConfigureAuth(IAppBuilder app)
{
app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
app.UseCookieAuthentication(
new CookieAuthenticationOptions
{
AuthenticationType =
WsFederationAuthenticationDefaults.AuthenticationType
});
app.UseWsFederationAuthentication(
new WsFederationAuthenticationOptions
{
MetadataAddress = "https://auth.azbar.org/federationmetadata/2007-06/federationmetadata.xml",
Wtrealm = "https://localhost:44310/",
});
}
}
}
web.config的部分
<system.web>
<authentication mode="None" />
<compilation debug="true" targetFramework="4.6.1" />
<httpRuntime targetFramework="4.6.1" />
</system.web>
Startup.cs
using Microsoft.Owin;
using Owin;
[assembly: OwinStartup(typeof(AZBarMail.Startup))]
namespace AZBarMail
{
public partial class Startup
{
public void Configuration(IAppBuilder app)
{
ConfigureAuth(app);
}
}
}
在IDS2中重定向网址
https://localhost:44310/
答案 0 :(得分:0)
将您的用户重定向到/ account / login。
app.UseCookieAuthentication(new CookieAuthenticationOptions()
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/account/Login"),
CookieName = CookieAuthenticationDefaults.CookiePrefix + "SampleClient",
ReturnUrlParameter = CookieAuthenticationDefaults.ReturnUrlParameter,
LogoutPath = new PathString("/account/Logout")
});
app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);
从/ account / login,重定向到外部提供商。
externalprovider将在其域上创建一个cookie,您将在收到外部提供商的响应后在您的域上创建一个cookie。
答案 1 :(得分:0)
问题终于解决了。似乎是cookie类型/设置的问题。