Asp.net core Facebook OAuth索赔实体在创建票证后丢失

Asp.net core Facebook OAuth索赔实体在创建票证后丢失,asp.net-core,asp.net-identity,facebook-oauth,Asp.net Core,Asp.net Identity,Facebook Oauth,我正在将Facebook OAuth添加到现有的AspNetCore应用程序中。我的“使用Facebook登录”按钮似乎做了所有正确的事情,但在我重定向回另一个页面后,我的User.Identity已恢复为未经身份验证的用户,并且所有索赔信息都消失了 我的startup.cs代码: public void ConfigureServices(IServiceCollection services) { // many things... services .Add

我正在将Facebook OAuth添加到现有的AspNetCore应用程序中。我的“使用Facebook登录”按钮似乎做了所有正确的事情,但在我重定向回另一个页面后,我的
User.Identity
已恢复为未经身份验证的用户,并且所有索赔信息都消失了

我的startup.cs代码:

public void ConfigureServices(IServiceCollection services)
{
    // many things...
    services
        .AddAuthentication("AuthToken") // original authentication handler for app
        .AddCookie("Cookies")
        .AddFacebook("Facebook", options =>
        {
            options.SignInScheme = "Cookies";
            options.AppId = "sekrut123";
            options.AppSecret = "moresekrut123123";
            options.SaveTokens = true;
            options.Scope.Add("email");
            // for debugging:
            options.Events = new OAuthEvents
            {
                OnCreatingTicket = context =>
                {
                    // in here, context.Principal.Identity is Authenticated
                    // the facebook email and other claims are present
                    // life is good...
                    return Task.Completed;
                }
            };
        })
        .AddAuthTokenHandler(); // original auth token handler for app
    // bunch of stuff
}
但是在经历了创建罚单的过程后,我的身份信息消失了,我又回到了一个未经身份验证的匿名用户的身份。怎么搞的?
我是否应该在代码中寻找一些东西来重置我的用户身份?

进一步的工作:通过chrome://flags 我似乎可以得到认证工作;Cookie在所有东西之间传输和转发。但是,User.Identity仍然没有经过身份验证,并且没有包含所有Facebook声明。