C# 使用带承载令牌的SAML身份验证代替Cookie

C# 使用带承载令牌的SAML身份验证代替Cookie,c#,owin,bearer-token,sustainsys-saml2,C#,Owin,Bearer Token,Sustainsys Saml2,我有一个几年前编写的应用程序,使用ASP.NETWebAPI2和OWIN、ASP.NETIdentity以及OAuth和承载令牌。我的前端是AngularJS。我在创建应用程序时遵循了这篇文章: 现在,我只需要实现用于身份验证目的的SAML。出于授权目的,我仍将使用ASP.NET标识。我计划使用Sustainsys SAML2 OWIN中间件。我在这里遵循了OWIN示例: 我得到的错误是: 在IAppBuilder属性中找不到SignInAsAuthenticationType的默认值。如果您的

我有一个几年前编写的应用程序,使用ASP.NETWebAPI2和OWIN、ASP.NETIdentity以及OAuth和承载令牌。我的前端是AngularJS。我在创建应用程序时遵循了这篇文章:

现在,我只需要实现用于身份验证目的的SAML。出于授权目的,我仍将使用ASP.NET标识。我计划使用Sustainsys SAML2 OWIN中间件。我在这里遵循了OWIN示例:

我得到的错误是:

在IAppBuilder属性中找不到SignInAsAuthenticationType的默认值。如果您的身份验证中间件以错误的顺序添加,或者缺少一个,则可能会发生这种情况

如何添加SAML进行身份验证,同时仍然使用ASP.NET标识通过承载令牌解决方案进行授权

这是我的代码,它可以进行身份验证。我添加了UseSam2Authentication方法,并注释掉了UseAuthBeareAuthentication行

var OAuthOptions=新的OAuthorizationServerOptions
{
TokenEndpointPath=新路径字符串(“/api/token”),
Provider=新应用程序AuthServerProvider(),
AccessTokenExpireTimeSpan=TimeSpan.FromMinutes(60),//TODO:将此更改回30分钟!
#如果调试
AllowInsecureHttp=true
#恩迪夫
};
app.useAuthAuthorizationServer(OAuthOptions);
//使用OAuthBeareAuthentication(新的OAuthBeareAuthenticationOptions());
app.UseSaml2Authentication(CreateSaml2Options());