我在Web api的owin中间件中使用了承载身份验证。
我遇到一种奇怪的行为,当我使用UseOAuthBearerAuthentication
这是我的startup.cs
代码的一部分:
app.UseOAuthAuthorizationServer(new OAuthAuthorizationServerOptions()
{
TokenEndpointPath = new PathString("/token"),
AccessTokenExpireTimeSpan = TimeSpan.FromDays(1),
Provider = new AuthorizationServerProvider(),
AccessTokenFormat = options.AccessTokenFormat
});
app.Use((context, next) =>
{
if(System.Web.HttpContext.Current.Session == null)
System.Diagnostics.Debug.WriteLine("1-No session");
else
System.Diagnostics.Debug.WriteLine("1-Session object");
return next();
});
app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions());
app.Use((context, next) =>
{
if(System.Web.HttpContext.Current.Session == null)
System.Diagnostics.Debug.WriteLine("2-No session");
else
System.Diagnostics.Debug.WriteLine("2-Session object");
return next();
});
输出为:
1-No session
2-Session object
这是正常行为吗?