在不同的机器上开发时,身份验证令牌会意外失效 - ASP.NET

时间:2015-07-21 14:35:24

标签: c# asp.net authentication azure asp.net-identity

我有一个使用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,问题发生在昨天他将本地数据库回滚到目标迁移,然后删除了他不想要的迁移,然后从源代码中删除了我在一个单独的分支上创建的控件,然后他运行它。然后当他运行项目时,令牌失效了。

0 个答案:

没有答案