我有一个使用ASP.NET Identity 2.1.0的Web应用程序,并且所有授权令牌都设置为在365天后过期。我最近开始与另一个开发人员合作,整个项目从一开始就是源代码控制(大约一年)。几周前我们添加第二个开发人员时,他尝试从他的机器上将代码发布到Microsoft Azure,它使已经存在的所有令牌无效,迫使所有使用该软件的人再次登录。我们无法弄清楚可能导致它的原因,但现在它又在他的机器上本地发生了(没有发布到Azure)。有谁知道可能导致这种情况发生的原因?
以下是在Startup.Auth.cs中设置令牌过期的代码
app.CreatePerOwinContext(ApplicationDbContext.Create);
app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create);
app.UseCookieAuthentication(new CookieAuthenticationOptions());
app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);
PublicClientId = "self";
OAuthOptions = new OAuthAuthorizationServerOptions
{
TokenEndpointPath = new PathString("/Token"),
Provider = new ApplicationOAuthProvider(PublicClientId),
AuthorizeEndpointPath = new PathString("/api/Account/ExternalLogin"),
AccessTokenExpireTimeSpan = TimeSpan.FromDays(365),
AllowInsecureHttp = true
};
app.UseOAuthBearerTokens(OAuthOptions);
编辑:我们正在使用Code First,问题发生在昨天他将本地数据库回滚到目标迁移,然后删除了他不想要的迁移,然后从源代码中删除了我在一个单独的分支上创建的控件,然后他运行它。然后当他运行项目时,令牌失效了。